排序算法
DDR内存测试
一棹春风一叶舟,一纶茧缕一轻钩。花满渚,酒满瓯,万顷波中得自由。
展开
-
常用排序算法
参考:https://www.zhihu.com/https://github.com/wangzheng0822/algohttps://mp.weixin.qq.com/s?__biz=MzUyNjQxNjYyMg==&mid=2247484102&idx=1&sn=6512a1ae8262d7a54007c938c6abcd16&chksm=fa0...转载 2019-11-12 14:30:19 · 228 阅读 · 0 评论 -
二叉查找树与红黑树(Binary Search Tree and R-B Tree)
参考:https://www.cnblogs.com/skywang12345/p/3576328.htmlhttp://www.cnblogs.com/skywang12345/p/3245399.html定义:二叉查找树(Binary Search Tree),又被称为二叉搜索树。设x为二叉查找树中的一个结点...原创 2019-04-04 14:48:31 · 229 阅读 · 0 评论 -
用C/C++编程实现冒泡排序(Bubble Sort)
冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。int temp;//外层循环是排序的趟数for (int i = 0; i < arrays.length - 1 ; i++) {//内层循环是当前趟数需要比较的次数for (int j = i+1; j < arrays.length; j++) {//前一...原创 2019-03-06 21:25:58 · 955 阅读 · 0 评论 -
各种常用排序算法的比较
原创 2019-03-06 21:25:34 · 154 阅读 · 0 评论 -
用C/C++编程实现快速排序
快速排序的基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序。/******************************************************************/...原创 2019-03-06 21:24:20 · 251 阅读 · 0 评论 -
用C/C++编程实现希尔排序
希尔算法基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。操作方法:选择一个增量序列t1,t2,…,tk,其中ti>tj,tk=1;按增量序列个数k,对序列进行k 趟排序;每趟排序,根据对应的增量ti,将待排序列分割成若干长度为m 的子序列,分别对各子表进行直接插入排序。仅增...原创 2019-03-06 21:23:16 · 299 阅读 · 0 评论 -
用C/C++编程实现插入排序
插入排序算法思想:和前俩种排序不同,插入排序在排序过程中是局部有序,随着插入项的增多,有序部分的项的位置会发生改变,而冒泡排序和选择排序每轮确定的项数的位置是永远不变的。在首轮,选择第二项作为插入项,然后取出这一项放在一个变量中,和前一项比较而且小,则前一项后移到第二项的位置,然后第二项也就是插入项放在前一项的位置,第二轮选择第三项作为插入项然后取出和前一项也就是第二项比较如果小,第二项后移到插入...原创 2019-03-06 21:22:08 · 352 阅读 · 0 评论 -
用C/C++编程实现堆排序
堆排序的基本思想:堆排序是一种树形选择排序,是对直接选择排序的有效改进。#include<cstdio>#include<iostream>#include<cstring>#include<algorithm>using namespace std;void adjust(int arr[], int len, in...转载 2019-03-16 11:12:11 · 317 阅读 · 0 评论 -
用C/C++编程实现直接选择排序
直接选择排序算法思想:在冒泡排序上做了优化,减少了交换次数,在首轮选择最大的数放在第一项,一轮之后第一项是有序的了,第二轮从第二项开始选择最大的数放在第二项,以此类推,直到整个数组完全有序。public void select_sort(){ // 对应位置的数组下标 int max; // 定义临时变量 int temp; for (int i...原创 2019-03-06 21:27:27 · 286 阅读 · 0 评论 -
问:什么是最小堆?什么是最大堆?在堆中怎么插入或删除一个元素?
答:最大堆和最小堆是二叉堆的两种形式。最大堆:根结点的键值是所有堆结点键值中最大者,且每个结点的值都比其孩子的值大。最小堆:根结点的键值是所有堆结点键值中最小者,且每个结点的值都比其孩子的值小。 最大堆的插入最大堆的插入的思想就是先在最后的结点添加一个元素,然后沿着树上升。跟最大堆的初始化大致相同。MaxHeap&...原创 2019-03-09 10:35:39 · 3387 阅读 · 0 评论