随笔分类 -  白话经典算法系列

用最容易理解的方式表达算法
白话经典算法系列之七 堆与堆排序
摘要:堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。 二叉堆的定义 堆的存储 堆的操作——插入删除 堆化数组 堆排序 阅读全文

posted @ 2011-08-22 16:00 MoreWindows 阅读(8290) 评论(3) 推荐(5) 编辑

白话经典算法系列之六 快速排序 快速搞定
摘要:快速排序由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加上快速排序思想----分治法也确实实用,因此很多软件公司的笔试面试,包括像腾讯,微软等知名IT公司都喜欢考这个,还有大大小的程序方面的考试如软考,考研中也常常出现快速排序的身影。总的说来,要直接默写出快速排序还是有一定难度的,因为本人就自己的理解对快速排序作了下白话解释,希望对大家理解有帮助,达到快速排序,快速搞定。快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。该方法的基本思想是:1.先从数 阅读全文

posted @ 2011-08-13 17:16 MoreWindows 阅读(96131) 评论(48) 推荐(48) 编辑

白话经典算法系列之五 归并排序的实现
摘要:归并排序 归并操作 有效的排序算法 分治法(Divide and Conquer)将二个有序数列合并 先递归的分解数列,再合并数列就完成了归并排序 对冒泡排序,直接插入排序,归并排序及直接使用系统的qsort()进行比较 阅读全文

posted @ 2011-08-11 10:55 MoreWindows 阅读(4608) 评论(0) 推荐(2) 编辑

白话经典算法系列之四 直接选择排序及交换二个数据的正确实现
摘要:白话经典算法系列 直接选择排序 笔试面试 不用中间数据交换二个数 用异或位操作交换二数 隐含的BUG 改正方法 阅读全文

posted @ 2011-08-09 11:04 MoreWindows 阅读(3225) 评论(1) 推荐(1) 编辑

白话经典算法系列之三 希尔排序的实现
摘要:白话经典算法 系列 希尔排序 图解 直接插入排序 算法优化 算法改进 阅读全文

posted @ 2011-08-08 11:00 MoreWindows 阅读(4430) 评论(0) 推荐(1) 编辑

白话经典算法系列之二 直接插入排序的三种实现
摘要:经典算法 直接插入排序 基本思想 源码 不同的实现 阅读全文

posted @ 2011-08-06 19:16 MoreWindows 阅读(6669) 评论(3) 推荐(4) 编辑

白话经典算法系列之一 冒泡排序的三种实现
摘要:经典算法 冒泡排序 优化 阅读全文

posted @ 2011-08-06 19:06 MoreWindows 阅读(10711) 评论(1) 推荐(5) 编辑

导航