
数据结构
文章平均质量分 83
mal327
这个作者很懒,什么都没留下…
展开
-
内部排序算法的比较和实现
内部排序算法的比较和实现本文来自:http://www.cppblog.com/feosun/archive/2008/10/12/63831.html 排序是数据处理中经常使用的一种重要运算,在计算机及其应用系统中,花费在排序上的时间在系统运行时间中占有很大比重;并且排序本身对推动算法分析的发展 也起很大作用。目前已有上百种排序方法,但尚未有一个最理想的尽如人意的方法,转载 2011-08-23 20:15:48 · 2838 阅读 · 0 评论 -
基数排序
基数排序基数排序是另外一种比较有特色的排序方式,它是怎么排序的呢?我们可以按照下面的一组数字做出说明:12、 104、 13、 7、 9 (1)按个位数排序是12、13、104、7、9 (2)再根据十位排序104、7、9、12、13 (3)再根据百位排序7、9、12、13、104 这里注意,如果在某一位的数字相同,那么排序结果要根据上一轮的数组确转载 2012-06-18 21:59:39 · 1818 阅读 · 0 评论 -
快速排序
白话经典算法系列之六 快速排序 快速搞定本文来自:http://blog.youkuaiyun.com/morewindows/article/details/6684558 快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还转载 2012-06-12 21:02:19 · 684 阅读 · 0 评论 -
归并排序的实现
白话经典算法系列之五 归并排序的实现 本文来自:http://blog.youkuaiyun.com/morewindows/article/details/6678165 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的转载 2012-06-12 19:56:03 · 684 阅读 · 0 评论 -
外部排序 简介
外部排序 简介本文来自:http://blog.youkuaiyun.com/yming0221/article/details/6970561 我们一般提到排序都是指内排序,比如快速排序,堆排序,归并排序等,所谓内排序就是可以在内存中完成的排序。RAM的访问速度大约是磁盘的25万倍,我们当然希望如果可以的话都是内排来完成。但对于大数据集来说,内存是远远不转载 2012-06-13 15:50:42 · 1239 阅读 · 0 评论 -
希尔排序的实现
白话经典算法系列之三 希尔排序的实现本文来自http://blog.youkuaiyun.com/morewindows/article/details/6668714希尔排序的实质就是分组插入排序,该方法又称缩小增量排序,因DL.Shell于1959年提出而得名。 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接转载 2012-06-12 20:30:11 · 608 阅读 · 0 评论 -
堆与堆排序
白话经典算法系列之七 堆与堆排序本文来自:http://blog.youkuaiyun.com/morewindows/article/details/6709644 堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二转载 2012-06-12 21:00:04 · 659 阅读 · 0 评论 -
数据结构算法集
/////////////////////////// // // // 堆栈数据结构 stack.h // // // /////////////////////////// #includeiostream.h> templateclass Type>class Stack; templateclass Type>转载 2012-06-11 16:22:44 · 980 阅读 · 0 评论 -
快速排序算法和二分搜索算法
快速排序算法和二分搜索算法本文来自:http://blog.youkuaiyun.com/shendl/article/details/4053853 算法主要分为排序算法、搜索算法、图算法。图算法我用得不多,没有发言权,本文就不说了。 排序算法中最快的是快速排序算法,搜索算法中最快的是二分搜索算法。我也最喜欢这2个算法。 因为转载 2012-06-11 15:32:17 · 1800 阅读 · 0 评论 -
判断单链表环问题
问题1、判断链表是否存在环。 设置两个指针fast和slow,初始值都指向头指针,slow每次前进一步,fast每次前进两步。如果存在环,则fast必先进入环,而slow后进入环,两个指针必定相遇(见下面的证明1)。(当然,fast先到达尾部为NULL,则为无环链表)。程序如下:bool isExitsLoop(Node* head) Node *slow = head, *fas转载 2011-09-13 22:51:33 · 1032 阅读 · 0 评论