随笔分类 -  算法和数据结构

摘要:本文主要是解析选择排序算法:直接选择排序和堆排序。一、直接选择排序 基本思想: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已... 阅读全文
posted @ 2014-09-08 23:26 ^_TONY_^ 阅读(1443) 评论(0) 推荐(0)
摘要:本文主要说明插入排序、shell排序两种排序方法。一、插入排序 算法思想: 假定这个数组的序是排好的,然后从头往后,如果有数比当前外层元素的值大,则将这个数的位置往后挪,直到当前外层元素的值大于或等于它前面的位置为止.这具算法在排完前k个数之后,可以保证a[1…k]是局部有序的,保证了插入过程的... 阅读全文
posted @ 2014-09-06 23:40 ^_TONY_^ 阅读(2937) 评论(0) 推荐(0)
摘要:本文介绍两种交换排序方法:冒泡排序、快速排序冒泡排序(BubbleSort) 基本思想每次遍历完序列都把最大(小)的元素放在最前面,然后再对剩下的序列重复前面的一个过程,每次遍历完之后待排序序列就少一个元素,当待排序序列减小为只有一个元素的时候排序就结束了.因此,复杂度在最坏的情况下是O(N2).... 阅读全文
posted @ 2014-09-03 01:10 ^_TONY_^ 阅读(1854) 评论(0) 推荐(0)
摘要:常用的选择排序算法有两种:直接选择排序和堆排序。一、直接选择排序基本思路:第一趟比较:程序将记录定位在第一个数据上,拿第一个数据依次和后面的数据进行比较,如果第一个数据大于后面的某个数据,交换它们,....依次进行下去。这趟比较将选出最小的数据并将其排在第一位。第二趟比较:程序将记录定位在第二个数据... 阅读全文
posted @ 2012-04-28 11:19 ^_TONY_^ 阅读(617) 评论(0) 推荐(1)
摘要:问题来历据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数... 阅读全文
posted @ 2012-04-20 14:48 ^_TONY_^ 阅读(1094) 评论(1) 推荐(0)