算法
StanfordZhang
这个作者很懒,什么都没留下…
展开
-
算法学习-排序算法-快速排序
1.快速排序的基本思想 通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。2.排序算法时间空间复杂度比较(摘自《数据结构(C语言版)》(严蔚敏))排序方法 平均时间 最坏情况 辅助存储 简单排序 O(n2) O(n2) O(1) 快速排序 O(nlog(n)) O(n2) O(log(n))原创 2011-04-21 13:34:00 · 1007 阅读 · 0 评论 -
算法学习 - Hash Table (Separate Chaining)
1. 本文参考SGI STL中Hash Table的实现以及《STL源码剖析》;2. Hash Table可提供对任何有名项的存取操作和删除操作。由于操作对象是有名项,所以Hash Table也可被视为一种字典结构。这种结构的用意在于提供常数时间之基本操作;3. 学习Hash T原创 2011-07-20 23:11:34 · 4900 阅读 · 2 评论 -
算法学习 - Dijkstra's Algorithm
1. Dijkstra's Algorithm是解决单源最短路径问题,即:从某个源点到其余各顶点的最短路径;2. Dijkstra's Algorithm中有两上关键点要注意(这是我学习的时候不仔细,导致走了很多弯路)。这里先明确两个集合:所有顶点集V和已选中顶点集S。 一原创 2011-07-22 18:20:42 · 16737 阅读 · 5 评论 -
算法学习 - 红黑树(Red-Black Trees)
算法学习——深入解析“红黑树”Learning Algorithms - Red-Black TreesStanford Zhang19 Jun. 2011zhangstanford@gmail.com本人声明算法学习系列文章可以说是笔者学习算法过程的笔原创 2011-08-03 20:53:07 · 2209 阅读 · 1 评论