![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
jim_cainiaoxiaolang
我热爱大数据开发,希望大家多交流
展开
-
一步一步学习数据结构(2)-链表及其操作
(1)单链表的节点插入操作 假设p指向一个节点,要将s所指节点插入p所指节点之后的操作如下: s->next=p->next; p->next=s; (2)单链表的节点删除操作 节点a,节点b,......假设p为指向a的指针,只需要将p的指针域next指向原来p的下一个节点的下一个节点即可。即: (注意释放所删除节点的内存空间) q=p->next原创 2016-12-11 19:51:10 · 455 阅读 · 0 评论 -
一步一步学习数据结构(1)-时间空间复杂度
时间复杂度 将算法中基本操作的执行次数作为算法时间复杂度的度量。 其实计算算法的时间复杂度,就是给出相应的数量级,f(n)与n无关时,时间复杂度T(n)=O(1);当f(n)与n是线性关系时,T(n)=O(n)......... 常用的各种时间复杂度大小的比较: O(1)) 计算时间复杂度的步骤如下: (1)确定算法中的基本操作以及问题的规模; (2)根据基本操作执行情况计算出原创 2016-12-11 19:49:34 · 266 阅读 · 0 评论 -
一步一步学习数据结构(3)-链表及其操作实战
本次题目全部选自剑指offer,主要是为了锻炼复习一下链表部分的基础知识。(全都java实现) (1)剑指offer 5:从尾到头打印链表 题目大致为: 输入一个链表的头结点,从未到头反过来打印每个结点的值。 思路:题目的要求是进行从尾到头输出,而链表的查找只能是顺序查找,栈的结构满足这样的条件:先进后出。同样,也可以使用递归的方式求解。 code: package co原创 2016-12-13 12:28:51 · 434 阅读 · 0 评论 -
【数据结构与算法】内部排序总结(附各种排序算法源码)
内部排序总结 这篇博文我们简要地总结下各种内部排序方法。 这10种排序算法中,前面7种属于建立在“比较”基础上的排序算法,通过决策树已经证明,任何基于比较进行的排序算法的时 间复杂度不可能再优于O(n*logn)。后面3种不是建立在比较的基础上的,因此,可以达到线性运行时间。 下面我们给出各种排序方法的时空复杂度的表格(属于自己总结,有不对的地方,希望大家指正或补转载 2016-12-08 10:50:42 · 294 阅读 · 0 评论 -
一步一步学习数据结构(4)-树和二叉树基础知识
(1)树中的基本术语 结点:结点不仅包含数据元素,而且包含指向子树的分支。 结点的度:结点拥有的子树的个数或者分支的个数。 树的度:树中各结点度的最大值。 叶子结点:又叫做终端结点,指度为0的结点。 非终端结点:又叫做分支节点,指度不为0的结点。 孩子:结点的子树的跟。 双亲:与孩子的定义对应。 兄弟:同一个双亲的孩子之间互为兄弟。 祖先:从根到某结点的路径上的所有结点,都是这个原创 2016-12-14 21:29:09 · 636 阅读 · 0 评论