摘要: 也是在做链表题目时,有一道题是用链表结构进行插入排序,因此,对插入排序的数组结构和链表结构做了一个总结,并分析了它们的复杂度。 插入排序:将一个记录插入到已经排好序的有序表中,从而得到一个新的,记录数增加1的有序表。 1、顺序表的插入排序 关键:有两重循环,第一层循环是遍历所有无序元素,第二层循环是 阅读全文
posted @ 2016-05-09 16:54 泥石流小盆友 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 题目: Sort a linked list in O(n log n) time using constant space complexity. 题目解析:要求用链表作为排序的数据结构,时间复杂度为O(nlogn),空间复杂度为O(1)。 分析:首先想到复杂度为O(nlogn)的排序算法有:快排 阅读全文
posted @ 2016-05-06 16:35 泥石流小盆友 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 1、二叉树的每个根节点到叶节点的路径代表一个数字,求所有根节点到叶节点所组成数字的和。 sum=12+13=25 2、计算二叉树的最大深度 3、计算二叉树的最小深度 4、二叉树中叶子节点个数 阅读全文
posted @ 2016-05-06 15:38 泥石流小盆友 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 最近在做链表算法题时,涉及到了归并排序,索性重新研究一下各种排序方法及其复杂度。 排序中比较复杂一点的是归并排序,思想时比较容易理解的,但是代码写起来没那么容易,该排序方法涉及到了分解和合并两个思想,其实是应用了分治的思想进行排序。 首先是对两个有序序列的合并,注意:合并的前提是:两个数组序列是有序 阅读全文
posted @ 2016-05-06 08:48 泥石流小盆友 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 一、前序遍历 前序遍历简单来讲,遍历顺序是:根节点-左子树-右子树 1、递归遍历 2、迭代遍历(用栈实现) 二、中序遍历 遍历顺序是:左子树-根节点-右子树 1、递归遍历 2、迭代遍历(用栈实现) 三、后序遍历 遍历顺序:左子树-右子树-根节点 1、递归遍历 2、迭代遍历(用栈实现) 四、层序遍历 阅读全文
posted @ 2016-04-27 21:47 泥石流小盆友 阅读(5574) 评论(0) 推荐(0) 编辑
摘要: 一、对二级指针的理解 二级指针,即指向指针的指针。对于二级指针**p,理解如下图: p=0x0001(指p的内容) &p=0x0010(指p自己的地址) *p=q=0x0002(指p指向的地址的内容) **p=*q=str=0x0003(指一级指针p指向地址的内容) 其中,p是二级指针,q是p的一级 阅读全文
posted @ 2016-04-20 19:04 泥石流小盆友 阅读(493) 评论(0) 推荐(0) 编辑