![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 69
力争做大牛的小王
努力探索互联网行业
展开
-
常用的排序
常用的排序1.插入排序(类似插入扑克牌)public static void insertSort(int[] array) { for (int i = 1; i < array.length; i++) { int tmp = array[i]; int j = i-1; for (; j >= 0; j--) { if(array[j] > tmp) {原创 2021-08-25 19:47:08 · 284 阅读 · 1 评论 -
优先级队列(堆)PriorityQueue
优先级队列(堆)PriorityQueue顺序存储:完全二叉树 否则空间浪费 层序遍历堆:逻辑上是完全二叉树。物理上存在数组上大根堆:节点的值大于子树中任意节点小根堆:节点小于子树任意节点。public class TestHeap { public int[] elem; public int usedsize; public TestHeap(int usedsize) { this.elem = new int[10]; }原创 2021-08-25 14:53:44 · 265 阅读 · 0 评论 -
初阶数据结构1
集合框架[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YhNPqlq5-1629859344101)(C:\Users\23871\Desktop\typora\博客\比特科技\数据结构\初阶数据结构\集合框架图.png)]迭代器:iterator listiterator 工具类:Arrays Collections 比较器Comparable Comparator使用集合框架 便于高效快速的写出代码泛型//不可以new原创 2021-08-25 10:43:21 · 137 阅读 · 0 评论 -
排序算法(选择排序和堆排序)c语言实现
排序算法(选择排序和堆排序)c语言实现选择排序/选择排序过程中需要进行的比较次数与初始状态下待排序的记录序列的排列情况无关。当i=1时,需进行n-1次比较;当i=2时,需进行n-2次比较;依次类推,共需要进行的比较次数是(n-1)+(n-2)+…+2+1=n(n-1)/2,即进行比较操作的[时间复杂度为O(n^2),进行移动操作的时间复杂度为O(n)。空间复杂度O(1)#include<stdio.h>void SelectSort(int a[],int n){ int i; in原创 2020-11-30 20:18:00 · 489 阅读 · 0 评论 -
排序算法之简单排序方法
排序算法之简单排序方法排序的概念:是按照非递减或递增 顺序对一组记录重新进行整队的操作,排序的方法有很多,包括(简单选择排序,直接插入排序,起泡排序)当然也有先进的排序方法包括(归并排序,快速排序,堆排序,基数排序)今天主要分享一下简单排序。包括(直接插入排序,折半插入排序,希尔排序)直接插入排序插入排序的基本思想:在一个已经排好顺序的子集的基础上,每一步将下一个待排序的记录有序的插入到已经排好的顺序中,直到所有待排全部插入。算法的实现,c语言代码。void InsertSort(int a[原创 2020-11-19 14:37:07 · 272 阅读 · 0 评论 -
排序算法(冒泡排序,快速排序)
排序算法之交换排序(冒泡排序和快速排序)交换排序:根据序列两个元素关键字的比较结果来对换两个记录在序列中的位置。冒泡排序原理如下比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。时间复杂度最好o(n)最坏o(n2)空间复杂度o(1)代码实现(c)#inclu原创 2020-11-25 19:59:02 · 246 阅读 · 1 评论