排序
文章平均质量分 81
石锅拌饭
新的博客在简书更新,欢迎阅读指正。
展开
-
二分查找之谜题
一、前言二分查找本身是个简单的算法,但是正是因为其简单,更容易写错。甚至于在二分查找算法刚出现的时候,也是存在bug的(溢出的bug),这个bug直到几十年后才修复(见《编程珠玑》)。本文打算对二分查找算法进行总结,并对由二分查找引申出来的问题进行分析和汇总。若有错误,请不吝赐教。二、二分查找是这样的相信大家都知道二分查找的基本算法,如下所示,这就是二分查找算法:int b原创 2012-08-19 16:19:04 · 1382 阅读 · 0 评论 -
排序算法大杂烩(一)——基础排序
一、前言排序算法也是面试中常常提及的内容,问的最多的应该是快速排序、堆排序。这些排序算法很基础,但是如果平时不怎么写代码的话,面试的时候总会出现各种bug。虽然思想都知道,但是就是写不出来。本文打算对各种排序算法进行一个汇总,像插入排序、冒泡排序、选择排序等就简单的介绍,重点关注快速排序和堆排序。需要提到的一点就是:插入排序,冒泡排序,归并排序,计数排序都是稳定的排序,而其他排序则都是不稳定的原创 2012-08-19 22:18:53 · 1094 阅读 · 0 评论 -
数学之美—快排为什么那样快
本文转载自刘未鹏的博客,写的太好了,学习ing。特别是称球问题的描述,让人耳目一新。原文地址:http://mindhacks.cn/2008/06/13/why-is-quicksort-so-quick/目录0. 前言1. 猜数字2. 称球3. 排序 3.1 为什么堆排比快排慢 3.2 为什么快排其实也不是转载 2012-08-27 15:47:23 · 1949 阅读 · 0 评论 -
自己动手写快速排序
自己动手写快速排序快速排序算法不算复杂的算法,但是实际写代码的时候却是最容易出错的代码,写的不对就容易死循环或者划分错误。所以还是自己动手多写会印象深刻点。一、初探—朴素的快速排序算法void quick_sort(int a[], int l, int u){ if (l >= u) return; int m = l; for (int i=l原创 2012-08-29 22:32:00 · 1947 阅读 · 0 评论