- 博客(14)
- 收藏
- 关注
转载 C++ 虚函数机制学习
致谢 本文是基于对<Inside the c++ object model>的阅读和gdb的使用而完成的.在此感谢Lippman对cfront中对象模型的解析,这些解析帮助读者拨开迷雾.此外,Linux下无比强大的gdb工具更是驱散"黑暗"的"明灯". :)No-Inheritance 1 class Base { 2 ...
2015-04-08 18:10:00 115
转载 二叉树操作
问题0: 二叉树的非递归遍历方法问题1: 判断一颗二叉树是否为二叉查找树.问题2: 判断两个二叉树是否相同问题3: 判断一棵树是否为平衡树问题4: 寻找二叉树的最大和最短简单路径长度问题5: 二叉树上简单路径的长度问题解答0: [0.1]前序.使用栈,访问节点后先压入右儿子,再压入左儿子即可....
2015-03-13 15:07:00 89
转载 图 -- 基础
图 图可以分为有向图(directed graph)和无向图(undirected graph)。 每个顶点都临界的无向图为完全图(complete graph)。如果无向图G的顶点集V可以划分为V1,V2,是的对(u,v)属于E有u属于V1,v属于V2,则称图为二分图(bipartite graph)。 无回路的无向图成为森林;连通的,无回路的无向图为(自由)树,...
2015-03-13 15:07:00 145
转载 树 -- 基本知识
自由树 自由树是一个连通,无回路的无向图. 显然树是图的一种. 如果一个无向图虽然无回路,但是可能非联通,那么这个图成为森林.(森林可以调整为一颗二叉树[左儿子,右兄弟]). 森林是m(m>=0)棵互不相交的树的集合。 令G = (V,E)为一个无向图.则以下6点是等价的. 1) G是自由树; 2) G中任意两个顶点由唯一一条简单路径相连;...
2015-01-02 09:10:00 113
转载 树 -- AVL树
前言 通过之前对二叉查找树的讨论,我们知道在给定节点数目的情况下,二叉树的高度越低,查找所用时间也就越短. 在讨论红黑树的时候,我们说过红黑树并非完全"平衡"的二叉树,只是近似"平衡".那么这个平衡到底指的是什么呢?有没有完全"平衡"的二叉树?平衡二叉树 什么样的二叉树能被形容为平衡二叉树呢? 1)空树 2)根的左右子树的高度之差...
2014-12-19 20:26:00 90
转载 使用教程
Perf : http://blog.chinaunix.net/uid-10540984-id-3854969.html转载于:https://www.cnblogs.com/carlsama/p/4158948.html
2014-12-12 08:22:00 68
转载 树 -- 红黑树
背景知识 通过上一篇文章的介绍,我们了解到,对二叉查找树的插入和删除会影响树整体的"平衡"性.树显得越不"平衡",在上面进行各种操作所需的时间也就越长.因此,我们希望有一颗能够随时随地保持"平衡性"的树,及时插入和删除元素,也可以通过调整来保持树的"平衡性". 在本章我们首先介绍一个不是完全"平衡"的,而是"相对平衡"的树 -- 红黑树.我们可以判断到,要使得树显得越"平...
2014-12-09 09:30:00 56
转载 树 -- 二叉查找树
二叉查找树 二叉查找树的的定义为:对于一个树中的任意一个非空节点,其左子节点树中的键值都不大于它,其右子节点树中的键值都不小于它。那么这棵树就是二叉查找树。 “Incomputer science, asearch treeis atree data structureused for locating specific values from withi...
2014-12-08 09:58:00 131
转载 链表操作 -- 问题总结贴
本文同时收集了好友 sosohu 和 zhuoyuan的文章,共同进步。欢迎指正。链表结构的实现: -- zhouyuan单链表操作: (1). 倒序访问 -- sosohu (2). 获取链表的倒数第K个元素 --sosohu zhouyuancarlsama (3). 查找链表的中间节点 --sosohu carls...
2014-12-02 18:57:00 58
转载 链表操作 -- 链表自身的处理问题
问题: 删除链表中的某个给定点。解答: 1)可以借助于节点的前一个节点来删除。 要花费O(n)的时间来查找节点的前继节点。时间复杂度O(n),空间复杂度O(1). 2)将后一个节点的内容复制到本节点,然后删除后一个节点。时间复杂度O(1),空间复杂度O(1) 这样就省略了查找上一个节点的时间。注意要删除的节点为尾节点的情况! ...
2014-11-29 18:59:00 94
转载 链表操作 -- 有环链表问题
参考: http://blog.163.com/clevertanglei900@126/blog/static/1113522592011828104617420/问题: 判断一个链表中是否有环。分析: 我们都知道,当一个链表中没有环时,我们使用一个指针能从头遍历到尾;当链表中有环时,链表会在环中旋转。 当我们只使用一个链表指针时,可想到方法就是使...
2014-11-27 21:14:00 72
转载 链表操作 -- 未排序链表的处理问题
参考: http://churuimin425.blog.163.com/blog/static/341298772012111955355554/问题: 删除未排序链表中的重复元素。解答: 1)最朴素的方法就是将链表排序,然后遍历并删除其中的重复元素。这种方法的时间复杂度依赖于排序的过程。 在此,我们要思考一下,找到并且删除链表中的重复元素真的需要...
2014-11-27 15:45:00 142
转载 链表操作 -- 模拟问题
问题: 两个链表模拟大整数加法。 1-》2-》3 + 4-》5 = 1-》6-》8解答: 1)使用递归实现。 比直接使用迭代实现更好。 加法需要从最低位开始,在使用递归实现时,会先递归到最底层(len==1)的情况,然后依次返回到上一层并伴随返回进位数。这样就比直接的迭代实现节省了每次定位同层节点的时间。 1 int lengt...
2014-11-27 15:26:00 103
转载 链表操作 -- 两个链表间的相交性问题
本文参考: http://blog.csdn.net/g_brightboy/article/details/6824834 http://blog.csdn.net/huangxy10/article/details/8014233 在此致谢。问题: 给定两个链表,判断它们是否相交。注意: 如果两个链表相交的话,则公...
2014-11-26 18:57:00 145
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人