qq_37258792的博客

自己学习知识的历程

排序:
默认
按更新时间
按访问量

堆排序——C语言

关于堆不做过多解释(要说的话有点多....)要学堆排序的话对堆肯定有一定的理解。首先从堆顶开始,自左向右依次标号的话(0..n),我们可以发现父子节点的关系(首标为0时)i为父;则左子为2i+1;右子为2i+2;要实现堆排序,1:将无序堆变成有序。2:堆顶元素与堆尾元素交换后,去掉堆尾(此时堆尾最...

2018-07-13 17:18:40

阅读数:43

评论数:0

折半插入——C语言

折半插入其实就是在寻找插入位置时运用了折半(通俗讲就是我想找这个插入位置,咋找?用折半!)同直接插入,首先一个数组分成两部分第一个数下标为0的数看成一部分(有序!)剩下的是一部分(无序!)1:在无序中依次拿出一个插入有序中:2:在有序中找插入位置3:用折半方法找出插入位置下面给出这个数组贴上代码下...

2018-07-12 17:29:03

阅读数:68

评论数:0

希尔排序——C语言,

希尔排序也是一种插入排序,什么样的才是希尔排序呢?我的理解就是王对王,将对将!  什么意思呢?废话不多说,图永远是最直白的东西!看图    第一次分成两小数组 也就是A[0]和A[0]    A[1]和A[1]     A[2]和A[2]     A[3]和A[3]配对(这就是王对王,将对将!)接...

2018-07-12 17:28:20

阅读数:12

评论数:0

直接插入排序——C语言

什么是直接插入排序?怎么理解它?举个栗子:比身高,一群人站成一排,你的身高在这些人中不高不矮,要想把你放进去且身高递增,肯定是要比较的,既然要比较那就要有比较的基准,同理要想在无序数组里插入一个数,肯定也要比较,给出一组数{4,2,3,1,5},要把它变成有序怎么办?是不是可以把4看做一个基准,比...

2018-07-12 16:03:50

阅读数:11

评论数:0

快速排序——C语言

快速排序是冒泡排序的进化版,冒泡原理是比我大的放在我后面或者前面,快速则是比我大的放在后面,比我小的放在前面(前后并不绝对,取决于你是升序或降序)下面举个例子便于更好理解一列数2   4   1   3   5  (贴上自己画的图)假设第一个数  2  为基准key,我们可以再设一个变量t把2赋给...

2018-07-09 09:39:09

阅读数:15

评论数:0

选择排序——C语言代码

介绍选择排序下面是我在网上找的示例图,便于更好地理解选择排序通过这个图我们明白K只是一个标记,它标记的是比较中 小的数。我们第一轮我们可以找到所有数中最小的数,然后让它和处于第一位的数进行位置交换,第二轮比较时 ,第一轮找出的最小数不在参加比较,然后我们可以找出剩下数中最小的数,之后的每轮同理。下...

2018-07-08 11:18:56

阅读数:57

评论数:0

冒泡排序——C语言

下面讲一下学习冒泡的一些思路,冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。简单来说就是前后比较,如果前面比后面的大,则交换(这是升序)反之,就是降序。下面看...

2018-07-08 10:22:28

阅读数:16

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭