
数据结构
Allen_Kao
这个作者很懒,什么都没留下…
展开
-
内核对象与内核对象的句柄——2013年12月20日(学习总结)
内核对象分类: 作为一个Windows软件开发人员,你经常需要创建、打开和操作各种内核对象。系统要创建和操作若干类型的内核对象,比如存取符号对象、事件对象、文件对象、文件映射对象、I/O完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计时器对象等。这些对象都是通过调用函数来创建的。例如,CreateFileMapping函数可使系统能够创建原创 2013-12-19 15:24:01 · 959 阅读 · 0 评论 -
数据结构链表(单链表和双链表)
什么是链表 简单的说,链表就是由多个结点离散分配,彼此通过指针相连,每个结点只有一个前驱结点和后继结点。首节点无前驱结点,为结点无后继结点的一种存储结构。 链表的结构 头结点:链表的第一个有效结点前面的结点,头结点并不存放有效数据,也就是数据域为空,加头结点的主要目的是为了方便链表的操作。 首节点:链表的第一个有效结点,结点包含数据域和指针域。原创 2015-04-15 10:10:24 · 822 阅读 · 0 评论 -
排序方法
经典排序算法 - 冒泡排序Bubble sort 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, 这样一趟过去后,最大或最小的数字被交换到了最后一位, 然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子 例子为从小到大排序, 原始待排序数组| 6 | 2 | 4 | 1 | 5 | 9 | 第一趟排序(外循环转载 2015-04-15 11:14:10 · 385 阅读 · 0 评论 -
哈希表算法
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快转载 2015-07-25 14:00:58 · 726 阅读 · 0 评论 -
二叉树前序、中序、后序遍历非递归写法的透彻解析
前言 在前两篇文章二叉树和二叉搜索树中已经涉及到了二叉树的三种遍历。递归写法,只要理解思想,几行代码。可是非递归写法却很不容易。这里特地总结下,透彻解析它们的非递归写法。其中,中序遍历的非递归写法最简单,后序遍历最难。我们的讨论基础是这样的: [cpp] view plain copy //Binary Tree Node转载 2017-05-12 09:58:49 · 539 阅读 · 0 评论 -
二叉树的遍历(前序、中序、后序、层次)
基本性质 每个结点最多有两棵子树,左子树和右子树,顺序不可颠倒。 非空二叉树第nn层最多有2n−12n−1个元素。深度为hh的二叉树,至多有2h−12h−1个结点。 结点结构 class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }原创 2017-05-12 10:00:13 · 889 阅读 · 1 评论