- 博客(8)
- 资源 (14)
- 收藏
- 关注
原创 剑指offer26:复杂链表的复制
复杂链表的复制第三步,我自己写了一个函数,易于理解。把第二步得到的链表拆分成两个链表,奇数位置上的结点组成原始链表,偶数位置上的结点组成复制出来的链表。
2015-08-26 17:55:26 1089
原创 栈的压入、弹出序列
解题分析:如果下一个弹出的数字刚好是栈顶数字,那么直接弹出。如果下一个弹出的数字不在栈顶,我们把压栈序列中还没有入栈的数字压入辅助栈,直到把下一个需要弹出的数字压入栈顶为止。如果所有的数字都压入了栈了仍然没有找到下一个弹出的数字,那么该序列不可能是一个弹出序列
2015-08-25 17:58:33 913
原创 C++ 内存分布
C++内存分布参考链接http://www.cnblogs.com/skynet/archive/2011/03/07/1975479.html#作者 吴秦为什么需要知道C/C++的内存布局和在哪可以可以找到想要的数据?知道内存布局对调试程序非常有帮助,可以知道程序执行时,到底做了什么,有助于写出干净的代码。本文的主要内容如下:源文件转换为可执行文件可执行程序组
2015-08-15 11:10:58 1650
原创 求链表的倒数第K个结点
题目 输入一个单向链表,输出该链表中倒数第 k 个结点。链表的倒数第 0 个结点为链表的尾指针。思路 解法一: 可以先遍历一遍统计链表个数,然后找到倒数第k个的下标再遍历,这样时间复杂度比较高 解法二: 双指针联动:一个指针先跑K -1步,然后两个指针一起跑。当第一个指针跑到尾节点时,第二个指针恰好是倒数第K个节点。需
2015-08-14 13:29:52 931
原创 atoi函数的详细实现(考虑溢出)
atoi()函数的功能:将字符串转换成整型数。atoi()会扫描参数str字符串,跳过前面的空白字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。写atoi函数的时候需要注意一下几点1. 忽略字符串前的空白字符2. 字符串所表示数值的正负号3. 结束条件,遇到非数字或者字符'\0'结束4. 考虑溢
2015-08-14 11:37:03 7740 3
原创 红黑树
红黑树是一种自平衡二叉查找树。它的统计性能要好于平衡二叉树(AVL树),因此,红黑树在很多地方都有应用。在C++ STL中,很多部分(目前包括set, multiset, map, multimap)应用了红黑树的变体(SGI STL中的红黑树有一些变化,这些修改提供了更好的性能,以及对set操作的支持)。它是复杂的,但它的操作有着良好的最坏情况运行时间,并且在实践中是高效的: 它可以在O(l
2015-08-11 10:47:09 794
原创 AVL树详解
平衡二叉树定义平衡二叉树简称平衡树,又称为AVL树。若一棵二叉树的任何节点的左右子树高度差最多相差1,此二叉树即是平衡二叉树。把二叉树的任何节点的左子树高度减去右子树高度定义为该节点的平衡因子。二叉平衡树的平衡因子只能是1、0或者-1。平衡二叉树是对二叉搜索树(又称为二叉排序树)的一种改进。二叉搜索树有一个缺点就是,树的结构是无法预料的,随意性很大,它只与节点的值和插入的顺序有关系,往往得
2015-08-10 11:48:26 1423
原创 二叉搜索树
二叉查找树定义二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均不小于它的根结点的值; 它的左、右子树也分别为二叉排序树。二叉排序树的查找过程和二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉排序树变成一个有序序列,构造树的过程即为对无
2015-08-08 16:34:33 962
数据挖掘导论 清晰版
2014-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人