摘要: 选择排序分简单选择排序和堆排序两种。1.简单选择排序基本思想:每一次从待排序的记录中选取关键字最小的记录,顺序放在已排好序的记录后面,直到全部记录排序完毕。特点:时间复杂度为O(n*2),空间复杂度为O(1),不稳定。简单排序代码:[代码]2.堆排序基本步骤:a.先把一个无序序列建堆; b.输出堆顶元素,调整剩余元素成新堆,直至序列有序。特点:像插入排序算法,它是原地的;像合并排序,时间复杂度是O... 阅读全文
posted @ 2010-07-18 11:26 瓦尔登湖 阅读(371) 评论(0) 推荐(0) 编辑
摘要: 以前陆陆续续看了下书,但没有写代码,这次决定从头学起,一步一步实践,加深理解,希望能够坚持记录下这期间的苦与乐。第一个算法是直接插入排序:现实实例: 原理类似打牌的时候,整理手中的牌。开始摸牌时,手是空的,接着从桌上摸起一张牌,并将它插入到手上一把牌中的正确位置,为了找到这张牌的正确位置,必须要与手中已有的牌进行比较。伪代码描述:直接插入排序java代码(升序):插入排序其他形式:插入排序-递归... 阅读全文
posted @ 2010-07-18 10:22 瓦尔登湖 阅读(368) 评论(0) 推荐(0) 编辑