堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。堆排序可以说是一种利用堆的概念来排序的选择排序。分为两种方法: 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中... ...
分类:
编程语言 时间:
2019-12-02 23:13:27
阅读次数:
95
教材学习内容总结 本章学习了算法,了解了解决问题的流程,重点学习了递归,数组,排序,抽象和二分检索等内容。 重点的其实是有关排序的几种方法和二分检索。选择排序,冒泡排序,插入排序和快速排序。比较难理解的是快速排序。 教材学习中的问题和解决过程 其他(感悟、思考等) 感觉自己还有很多需要继续加油和努力 ...
分类:
其他好文 时间:
2019-12-01 21:19:05
阅读次数:
99
学弟问的一道数据结构的题,关于一些排序算法的时间复杂度。 针对近似有序序列, ①当使用直接插入排序时,其基本操作为数组中元素的移动。最好情况下,待排序列有序,无需移动,此时时间复杂度为O(n), 当为近似有序序列是,其基本操作执行的次数是K次当前循环的最大值的和,即时间复杂度为O(k.n)由于k远小 ...
分类:
编程语言 时间:
2019-12-01 13:59:56
阅读次数:
83
1.写出选择排序的代码实现,对一个int数组进行排序 public class TestSelectSort { public static void main(String[] args) { int [] arr = {87,65,5,5,43,21}; System.out.print("排序 ...
分类:
编程语言 时间:
2019-12-01 11:28:32
阅读次数:
82
冒泡排序和选择排序都是数组排序。 数组排序方法:sort()排序,字符的排序,逐位比较 arr.sort(function(a,b){ return a-b; }); console.log(arr); a-b从小到大数值排序,b-a从大到小排序。 冒泡排序:两两比较。 案例:arr[5,7,4,8 ...
分类:
编程语言 时间:
2019-11-30 13:28:53
阅读次数:
68
关于排序算法的总结 1.1概述 生活中处处存在排序,考试成绩要排序,年龄大小要排序,图书馆的藏书也要排序。排序也是数据结构课程的一个重要组成部分。教材中的出现的排序有名次排序、选择排序冒泡排序等,下面我们一一进行介绍。 1.2排序算法 1.2.1名次排序 rank sort 所谓排序,也就是给排列的 ...
分类:
编程语言 时间:
2019-11-28 21:29:41
阅读次数:
79
使用循环嵌套来获取100以内的质数 使用循环嵌套来获取100以内的质数 #!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in range(2,100): j=2 for j in range(2,i): if(i%j==0): ...
分类:
编程语言 时间:
2019-11-28 12:59:48
阅读次数:
69
冒泡排序分为从大到小和从小到大两种。从大到小 每次把最小的冒到最后面从小到大 每次把最大的冒到最后面(以这个为例)从前往后比较 ,如果前面比后面小,就交换位置。int[] but= {23,43,6,80,92,14,38}; for(int i=0;i<but.length;i++) { for( ...
分类:
编程语言 时间:
2019-11-28 01:03:37
阅读次数:
80
练习练习练习!!! import java.util.Arrays; /** * @Date: 2019-11-24 09:20 * @King: No blood!No bone!No ash!!! */ public class TestSelectionSort { public static ...
分类:
编程语言 时间:
2019-11-24 12:17:53
阅读次数:
74
时间复杂度为n^2的排序 冒泡排序和选择排序的共同点:每次都是在找剩下元素中最小(大)的元素 不同点:冒泡排序存在多次交换,而选择排序每次只存在一次交换序号 ...
分类:
编程语言 时间:
2019-11-24 11:59:29
阅读次数:
93