对于双亲表示法:我们先将双亲结点存入,我们每插入一个结点都是知道双亲结点位置的,数据可以直接插入。使用顺序存储结构更加方便 而对于孩子表示法,我们每次插入一个结点,对其子树的位置存放暂不确定,所有使用链式存储结构占主要 (一)双亲表示法 以双亲作为索引的关键词的一种存储方式 每个结点只有一个双亲,所 ...
分类:
其他好文 时间:
2020-02-18 18:15:50
阅读次数:
73
一、基本介绍 ? 希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更加高效的版本,也称为缩小增量排序。 ? 在排序过程中,把待排序数据按照一定增量分组,对每组数据使用直接插入排序算法进行排序;随着增量的减小,每组的数据越来越多;当增量减少为 1 时,整个数据被分为一组,算法终止,排序完成 ...
分类:
编程语言 时间:
2020-02-17 19:55:50
阅读次数:
87
笔者埋坑后面再来分析总结 1. 插入排序 直接插入排序:O(n^2) 二分插入排序:O(n^2) 希尔排序:O(nlog n) 2. 交换排序 冒泡排序:O(n^2) 快速排序:O(nlog2 n) java public static void SimpleSelectSort(int[] arr ...
分类:
编程语言 时间:
2020-02-17 01:18:02
阅读次数:
88
在嵌入式Linux应用中,有时会用到图形界面。在目前流行的图形界面中,比较有名的当数Qt。Qt是1991年由挪威Trolltech公司开发的一个跨平台C++图形用户界面应用程序开发框架,主要用来开发GUI(Graphical User Interface)程序。Qt是面向对象的框架,使用特殊的代码生 ...
分类:
其他好文 时间:
2020-02-14 01:09:15
阅读次数:
68
直接插入排序:通过构建有序序列,对于未排序数据,选出第一个元素,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序因而在从后向前扫描过程中, 需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 我们可以吧一个序列分为有序区段和无序区段,如图: #include<bits/stdc++. ...
分类:
编程语言 时间:
2020-02-13 19:16:01
阅读次数:
72
直接插入排序法:将一个记录插入到已经排好序的有序表中,从而得到一个新的记录数据的有序表。 空间复杂度:需要一个记录的辅助空间; 时间复杂度:O(n^2) 代码片段: public class StraightInsertSort { public static void main(String[] ...
分类:
编程语言 时间:
2020-02-13 14:57:41
阅读次数:
75
插入排序的基本方法:每一步将一个待排序的对象,按其排序码大小,插入到前面已经排好序的一组对象的适当位置上,知道所有对象全部插入为止。插入排序的实施方案:1. 直接插入排序2. 折半插入排序3. 希尔排序 一、直接插入排序1. 算法代码: /** * 直接插入排序 **/ func InsertSor ...
分类:
编程语言 时间:
2020-02-12 16:43:26
阅读次数:
70
1.什么是直接插入排序依次将待排序中的数字直接插入到已按从小到大(或者从大到小)排好的序列中去,直到插完所有数字为止。2.图示表示3.代码实现```publicstaticvoidinsertSort(int[]array){for(intbound=1;bound<array.length;bound++){inttmp=array[bound];intcur=bound-1;//[1,b
分类:
编程语言 时间:
2020-02-11 09:35:42
阅读次数:
82
[toc] 1. 介绍 1.1 排序算法分类 1. 内部排序: 数据记录在内存中进行排序 2. 外部排序: 因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存 1.2 关于时间复杂度 1. 平方阶($O(n^2)$)排序 各类简单排序: 直接插入、直接选择和冒泡排序 2. 线性对 ...
分类:
编程语言 时间:
2020-02-09 16:45:15
阅读次数:
95