数据结构&算法
王晓斌
十年苦烦剧,一念愈倾仰
展开
-
【数据结构】堆 Heap
堆的定义:堆(Heap) - 也叫做优先队列(Priority Queue);二叉堆是一个完全二叉树或近似完全二叉树。满足如下的两个属性:1 父节点的键值总是大于或等于(小于或等于)它的任意一个子节点的键值(顺序性);2 堆总是一个完全二叉树;将根节点最大的堆叫做最大堆;根节点最小的堆叫做最小堆;堆的存储:可以采用数组来表示堆;我们使用下标1作为数组的开始;声明数组原创 2013-12-04 15:11:43 · 916 阅读 · 0 评论 -
【算法总结】垃圾收集算法
comctl32 - comctl32.dll - DLL文件信息 DLL 文件: comctl32 或者 comctl32.dll DLL 名称: Windows Common Controls Library 描述: comctl32.dll是Windows应用程序公用GUI图形用户界面模块。 属于: Windows NT 系统 DLL文件: 是转载 2009-08-06 20:27:00 · 699 阅读 · 0 评论 -
【算法基础】排列与组合
1. 排列原创 2013-12-08 21:40:35 · 1343 阅读 · 0 评论 -
【算法基础】二分查找
1. 关于二分查找二分查找主要是为了解决“在一堆数中找出指定的数”这类问题。要想二分查找,这一堆数必须有以下特征:存储在数组中有序排列至于是顺序递增还是递减,是否存在相同的元素都不要紧。2. 算法实现原创 2014-02-06 21:56:35 · 927 阅读 · 0 评论 -
【算法基础】归并排序
1. 算法描述原创 2013-12-05 00:39:45 · 817 阅读 · 0 评论 -
【编程之美】1.5 快速找出故障机器
[解法3]: 使用异或问题1: 找出出现奇数次的两个数void findRepeatedTwoNumbers(int array[], int size, int& no1, int& no2){ }原创 2013-11-24 21:31:28 · 919 阅读 · 0 评论 -
【算法基础】冒泡排序
1. 算法描述冒泡排序(Bubble Sort)是一种简单的排序方法,它重复地走访要排序的数列,每次比较两个元素,如何顺序错误则把它们交换过来;冒泡排序的算法步骤如下:比较相邻的元素,若第一个比第二个大,就交换他们两个;对每一对相邻的元素做同样的工作,从开始第一对到结尾的最后一对;交换后,最后的元素应该是最大的;针对所有的元素,重复上面的步骤,除了最后一个;持续对越来越原创 2013-12-05 00:32:06 · 688 阅读 · 0 评论 -
【数据结构】栈 Stack
1. 栈的定义原创 2013-12-07 02:47:40 · 896 阅读 · 0 评论 -
【数据结构】哈希表 Hash Table
1. Hash Table的定义原创 2013-12-05 17:23:22 · 1420 阅读 · 0 评论 -
【算法基础】【排序】快速排序 - Quick Sort
算法描述: 快速排序对待排序的记录采用一种“分治”法。在排序的每一步,都把记录分成两个分区。这种分区是基于称为基准( pivot)的记录进行的。将小于基准的所有记录划分到一个分区中,而将大于基准的所有记录划分到另一个分区中。等于基准的记录则可以划分到任何一个分区中。 算法步骤: 1. 数组array,设起始索引值为start,终止索引值为end;原创 2013-11-15 00:17:54 · 1106 阅读 · 0 评论