码迷,mamicode.com
首页 >  
搜索关键字:堆排序 完全二叉树    ( 2516个结果
快速排序排与堆排序
引子 最近练习时,觉得有些生疏,所以加强锻炼。 具体实现 快速排序(从小到大排序,升序) public class QuickSort{ public static void swap(int[] arr, int i, int j){ int temp = arr[i]; arr[i] = arr ...
分类:编程语言   时间:2020-07-24 22:11:29    阅读次数:94
[CSP2019]树的重心
题目 点这里看题目。 分析 原来数据的奇怪结尾就可以拿来判断特征呀 40pts ~ 55pts 太简单就不说了。 75pts 考虑完全二叉树怎么做。 这里需要注意一点,就是:\(n=262143=2^{18}-1\) ,也就是说,数据实际上就是一棵满二叉树。 由于满二叉树具有极强的对称性,我们不难想 ...
分类:其他好文   时间:2020-07-24 21:50:33    阅读次数:73
C++ 数组、链表和二叉树的比较
数组:按序号访问元素,连续存储,元素可以有序、也可以无序,用下标来定位元素,元素的数量确定(有上限),按下标访问很快,插入和删除元素、排序的开销比较大(元素的移位操作),数组元素无序时,元素的排序速度比较慢(依次比较),数组元素有序时,元素的查找速度比较慢(二分查找,比无序时快)。 链表:插入、删除 ...
分类:编程语言   时间:2020-07-24 15:38:12    阅读次数:68
初始化为大顶堆
初始化 方法1:插入法: 从空堆开始,依次插入每一个结点,直到所有的结点全部插入到堆为止。 时间:O(n*log(n)) 方法2:调整法: 序列对应一个完全二叉树;从最后一个分支结点(n div 2)开始,到根(1)为止,依次对每个分支结点进行调整(下沉), 以便形成以每个分支结点为根的堆,当最后对 ...
分类:其他好文   时间:2020-07-23 16:19:52    阅读次数:68
排序算法
内部排序:数据记录在内存中进行排序外部排序:待排序文件较大,需要访问外存常见的内部排序:插入排序(直接插入、折半插入、希尔排序)、交换排序(冒泡、快排)、选择排序(简单选择、堆排序)、归并排序(2路归并)、基数排序外排:归并排序(多路归并)、各种内排的性能比较:插入排序每次将一个待排序的记录按关键字大小插入到前面已排好序的子序列中,直到全部记录插入完成每一轮能够确定一个最终位置的记录,某时刻的状态
分类:编程语言   时间:2020-07-19 16:23:30    阅读次数:50
LeetCode958 二叉树的完全性检验
给定一个二叉树,确定它是否是一个完全二叉树。 百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。(注:第 h 层可能包含 1~ 2h 个节点。) 自己用的是本方法,先 ...
分类:其他好文   时间:2020-07-18 00:48:02    阅读次数:65
c++ 堆排序
强烈推荐视频: 堆排序(heapsort) 代码: #include <iostream> #include <stdlib.h> using namespace std; void heapify(int tree[], int n, int i) { if (i >= n) return; in ...
分类:编程语言   时间:2020-07-17 01:23:04    阅读次数:99
数据结构第8章小结
第八章给我们介绍了内部排序和外部排序。各种排序方法都有各自的优缺点,没有说哪一种是最好的。直接插入排序、折半插入排序、冒泡排序和简单选择排序的速度较慢,但是它们实现的过程比较简单,所以称他们为简单的排序方法。速度较快的算法称为先进的排序方法,但是实现的过程比较复杂。我们在选择排序方法时,要综合考虑。 ...
分类:其他好文   时间:2020-07-12 22:14:02    阅读次数:73
数据结构第八章学习总结
一、本章知识思维导图 二、第八章知识小结 1. 插入排序 (1) 直接插入排序 对于待排序列中的元素,在已排序列中顺序查找插入位置,将待排元素插入并移动。 (2)折半插入排序 基于直接插入排序,查找插入位置使用折半查找。 (3)希尔排序 将间隔步长d1的两个元素分为一组,组内进行直接插入排序;第二趟 ...
分类:其他好文   时间:2020-07-12 18:50:39    阅读次数:52
数据结构:第八章学习小结
一、本章小结 1.根据时间复杂度的不同,常见的算法可以分为3大类。 1).O(n²) 的排序算法 冒泡排序 简单选择排序 插入排序:直接插入,折半插入 2).O(n log n) 的排序算法 希尔排序 归并排序 快速排序 堆排序 2.根据是否受到待排序对象初始排列影响,可分为 1)受到待排序对象的初 ...
分类:其他好文   时间:2020-07-12 14:30:19    阅读次数:62
2516条   上一页 1 ... 3 4 5 6 7 ... 252 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!