文章分类 -  编码笔记

用Python实现常见的排序算法
摘要:1. 冒泡排序 冒泡排序的思路十分简单,交换相邻的两个逆序的元素,知道迭代完所有元素为止。其耗时为O(n^2) 1 array = [9,3,7,4,2,6,5,1,8,0,19,15,13,18,12,16,17,11,14,20] 2 print 'Before bubble sorting:' 3 print array 4 5 print '' 6 print 'During bubble sorting:' 7 for i in range(0,len(array) - 1)://两轮循环迭代数组的所有元素 8 for j in ran 阅读全文

posted @ 2012-08-03 21:00 edward1992 阅读(82) 评论(0) 推荐(0)

堆排序学习笔记
摘要:1. 堆排序分为建堆和排序两大步骤2. 堆排序中最为关键的一个算法就是堆的调整算法3.排序通常使用的数据结构是线性表,其好处在于可以通过对索引变量的计算来定位某个节点 4.对于数组A[1:length]中的A[i],其父节点为A[(i-1)/2],左子节点为A[i*2],右子节点为A[i*2+1]。5. 堆其实是一个完全二叉树,只有最底两层的节点才可能是叶节点,堆中任意一个非叶节点的值必然大于其子节点的值6. 建堆的过程就是从靠近底层最右边的一个非叶节点开始,向堆顶靠近,逐个非叶节点调用堆的调整算法。7. 排序就是每次将堆顶的值取出,将最后一个叶节点的值赋给堆顶,以此堆的节点数量减一,然后对堆 阅读全文

posted @ 2012-07-11 10:27 edward1992 阅读(121) 评论(0) 推荐(0)

导航