1.设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为O(n),空间复杂度为O(1). 2.算法实现带头节点单链表的就地址逆置问题。 3.已知一个带头结点的单链表L,其结点的元素值以非递减顺序排列,设计算法删除该单链表中元素值重复的结点。 4.以二叉链表做存储结构,编写算法输出二 ...
分类:
编程语言 时间:
2018-06-30 20:21:45
阅读次数:
263
常用的链表/堆栈 都是先 生成一个头指针head 再用头指针 申请一个 头节点空间,然后 头节点 的Data 一般是不储存数据的 , { 当用 malloc函数分配内存后head就变为了名叫head的节点了。而不在是一个单独的指针了 } { 注意只要用malloc申请的空间 才能使 指针再 下次循环 ...
分类:
编程语言 时间:
2018-06-26 00:50:59
阅读次数:
188
c/c++ 线性表之单向链表 线性表之单向链表 不是存放在连续的内存空间,链表中的每个节点都指向下一个节点,最后一个节点的下一个节点是NULL。 真实的第一个节点是头节点,头节点不存放数据,单纯为了编写程序方便。但是下面注释里写的【第一个节点】的含义是头节点的下一节点,也就是真实存放数据的第一个节点 ...
分类:
编程语言 时间:
2018-06-23 17:15:18
阅读次数:
160
剑指Offer:合并两个排序的链表【25】 题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 题目分析 每次都是比较箭头节点,把小节点连接到已经合并的链表之后,重复的执行此过程,最后如果那个链表已经走完,那就将另一个链表直接连接到合并的链表之后。 ...
分类:
编程语言 时间:
2018-06-22 18:55:19
阅读次数:
208
前言: 在上一篇博客实现链表的创建后,我们对其创建的链表进行反转。 分析: 假设我们对链表每三个节点进行一次反转,有如下链表: 若对其反转,则我们想要的结果为: 思路: 我们可以用头插法的方式对其进行反转,头插法的方式: 一开始链表只有一个Head头节点,现加入节点1 如果此时加入加入节点2那么节点 ...
分类:
其他好文 时间:
2018-06-20 00:56:00
阅读次数:
205
跳表 跳表是一个包含n个元素的单链表,且满足以下条件: (1)在单链表的结点中,每隔2i个元素,就增加一个i级指针,0≤i≤?log2n?; (2)其头节点为Head,是一个大小为?log2n?的一维指针数组,里面只存放指向i级的第一个级指针,0≤i≤?log2n?,不存放实际数据元素,它和同i级的 ...
分类:
其他好文 时间:
2018-06-04 14:27:24
阅读次数:
133
问题:如何得到链表中的倒数第k个元素? 一种简单的思路是遍历链表一遍,并统计出链表中节点的数目,然后计算出倒数第k个元素到链表头节点的元素的距离,然后得到对应的结果。但是,我们能否有一种更加简便的方式来得到倒数的第k个元素的结果呢?答案肯定有啦,不然我也不会总结成博文了... ...
分类:
其他好文 时间:
2018-06-02 15:50:38
阅读次数:
165
小咖是某计算机专业的学生。linglingling,伴随这铃声,同学们都准时来上课了。 老师:这节课是计算机课,我们学习了单链表,请同学说一下什么是单链表。 同学们纷纷举起了手。好,小白你来说。 小白:单链表是一种线性表,它的存储单元可以不是连续的,从头节点开始,每个节点都有一个指针,指向下一个节点 ...
分类:
其他好文 时间:
2018-05-27 20:25:57
阅读次数:
236
1.线性数据结构 数组:按索引随机访问 链表:从头节点顺序访问 栈,队列:先进先出,后进先出 ...
分类:
其他好文 时间:
2018-05-27 14:46:47
阅读次数:
108
求整棵树的xxx,假设以将个结点为头,它的xxx是什么,把它的可能的信息收集起来,就得到所有结点为头的xxx结果,那么答案肯定在其中。 给定一棵二叉树的头节点head, 请返回最大搜索二叉子树的大小 本题目中,以每个结点为头结点,它的最大搜索二叉树是什么,那么需要的信息 如以某个结点X为例,它的二叉 ...
分类:
其他好文 时间:
2018-05-04 17:10:37
阅读次数:
159