学习数据结构的笔记 1.在线性表的链式存储中,头指针与头结点之间的根本区别以及头结点与开始结点的关系: 链表的头指针一般指向其第一个结点,他有标识链表的作用。头结点的作用在于统一相关操作,头结点的数据域一般没有意义,在某些情况下可以存放链表长 度。如果链表含有头结点,无论链表是 否为空,头指针均不为 ...
分类:
其他好文 时间:
2017-07-26 15:36:06
阅读次数:
156
题目描写叙述 Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases. For example, “A man, a plan, a ca ...
分类:
编程语言 时间:
2017-07-16 19:28:42
阅读次数:
170
题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。 思路:将待删除节点下一个节点的数据赋给当前节点。删除下一个节点就可以。 题目:给定链表的头指针和一个结点指针,在O(1)时间删除该结点。 思路:将待删除节点下一个节点的数据赋给当前节点。删除下一个节点就可以。 ...
分类:
其他好文 时间:
2017-07-16 11:19:27
阅读次数:
158
?? 循环链表和单链表没有本质上的区别。唯一不同的链表的最后不再是空的了,而是指向了first头指针。仅仅有这样我们才会实现链表的循环功能,那么问题来了,我们在以下的函数功能中我们仅仅是须要把里面用的头指针的重用名换到first->next中。并且当中的计数器count也从1開始计数,这样就避免了在 ...
分类:
其他好文 时间:
2017-07-12 23:38:37
阅读次数:
430
/* @content 线性链表之顺序表 @date 2017-3-21 1:06 @author Johnny Zen */ /* 线性表 顺序表 链式表[带头指针/不带头指针] 单链表 循环单链表 双向链表 循环双链表 ADT List{ 属性: length 长度 DataList; 数据 操 ...
分类:
其他好文 时间:
2017-07-12 15:06:41
阅读次数:
255
1.栈的基础概念 a.栈是限制在表的一端进行插入(进栈)和删除(出栈)运算的线性表,而进行这两个操作,需要一个头指针。b.通常称插入,删除的这一端为栈顶,另一端为栈底。c.当表中没有元素时称为空栈。假设栈S=(a1,a2,...an),a1称为栈底元素,an称为栈顶元素。 注意:栈是按后进先出的原则 ...
分类:
其他好文 时间:
2017-07-10 19:06:56
阅读次数:
146
题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 解题思路:从头遍历整个链表,如果当前结点和下一结点值相同,则应当删除。为了保证结点不断,需要保存pre结点,然后找到 ...
分类:
其他好文 时间:
2017-07-03 22:25:20
阅读次数:
143
所实现的循环单链表的结构例如以下图所看到的: 循环单链表的实现,和上一篇文章单链表的实现大致同样点击打开链接,略有差别: 1:循环推断的条件不再是s == NULL或者s->next == NULL,而是他们是否等于头指针。2: 断开链表时的处理,尾节点的next不是NULL,而是指向头结点 详细细 ...
分类:
编程语言 时间:
2017-06-30 15:33:01
阅读次数:
394
假设在单链表或头指针表示的链表上操作这个比較消耗性能,由于都须要遍历第一个链表。找到an,然后将b1链接到an的后面。时间复杂度是:O(n)。若在尾指针表示的单循环链表上实现,则仅仅需改变指针,无需遍历。时间复杂度是:O(1) 如今看算法实现,须要4个主要步骤,都凝视了: LinkList Conn ...
分类:
其他好文 时间:
2017-06-17 15:17:47
阅读次数:
158
时间限制:3秒 空间限制:32768K 热度指数:7637 本题知识点: 链表 栈 时间限制:3秒 空间限制:32768K 热度指数:7637 本题知识点: 链表 栈 题目描述 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 给定一个链表的头指针 ...
分类:
其他好文 时间:
2017-06-10 12:20:26
阅读次数:
115