数据结构
数据结构
WongKyunban
这个作者很懒,什么都没留下…
展开
-
What Is Selection Sort
What is selection sort?How does it work?Selection sort is an intuitive sort algorithm. The idea is that At first time,we select the smallest data element(or the biggest one),then put it in the starting position.Then we select the smallest one in the rest原创 2020-11-13 09:18:35 · 1941 阅读 · 0 评论 -
Heap Sort
Heap Sort is an improvement to direct selection sort.From previous discussion,it can be seen that Using direct selection sort,in order to find out the smallest keyword among n keywords,n-1 comparisons are needed.Then n-2 comparisons are needed for finding原创 2020-10-05 03:01:21 · 1924 阅读 · 0 评论 -
数据结构排序系列之选择排序(三)
1.选择排序选择排序有直接选择排序和堆排序。基本思想:每一趟在待排序的记录中选出关键字最小的元素,依次存放在已排好序的序列的最后。直到所有元素都好排好序为止。1.1.直接选择排序算法思想:每次从待排序的无序区中选出关键字最小的元素,将该元素与该无序区中的第一个元素交换位置。初始时,从[0…n-1]选出一个关键字最小的元素,与R[0]交换位置。第二趟排序时,从[1…n-1]选出一个关键字最小的元素,与R[1]交换位置,此时R[0…1]为有序区,依次类推,进行n-1趟后,R[0…n-1]中的元素按递增有原创 2020-05-09 00:24:16 · 1903 阅读 · 0 评论 -
数据结构排序系列之交换排序(二)
1.交换排序交换排序我们介绍冒泡排序和快速排序(划分交换排序),核心思想就是通过元素两两比较,发现反序时进行交换,直到所有元素都没有反序为止。1.1 冒泡排序算法思想:通过相邻元素之间的比较和交换来完成。冒泡排序从后往前,进行相邻元素的两两比较和交换。使关键字小的元素逐渐从底部移向顶部。算法实现:#include <stdio.h>// R为待排序的数组,n是数组的长...原创 2020-05-07 22:14:54 · 2251 阅读 · 0 评论 -
数据结构排序系列之插入排序(一)
1.插入排序插入排序我们介绍直接插入排序和希尔排序(缩小增量排序)。基本思想:每次将一个待排序的元素按其关键字的大小插入到前面已排好序的文件的适当位置中,直到所有的元素插入完为止。1.1.直接插入排序算法思想:假设要排序的元素存储到一个数组R,在排序过程中,将数组分成:有序区R[0…i-1],初始时有序区中有数组的第一个元素R[0];无序区R[i…n]。每次排序时,从无序区取出第一个元素按...原创 2020-05-07 22:01:26 · 2040 阅读 · 0 评论 -
最小生成树算法——普里姆算法
普里姆算法假设G=(V,E)是一个具有n个顶点的连通网,T=(U,TE)是G的最小生成树,其中U是T的顶点集,TE是T的边集,U和TE的初始值为空。算法过程:首先从V中任取一个顶点(假定v1),将它并入U中,此时U={v1}然后只要U是V的真子集(即U⊂V),就从那些一个端点已在T中,别一个端点仍在T外的所有边中,找一条最短(即权值最小)边,假定为(vi,vj),其中vi ∈U,vj ∈V...原创 2020-04-13 14:06:58 · 2720 阅读 · 0 评论 -
数据结构之队列
1.概述队列是一种操作受限的线性表,它只允许在一端进行元素插入,而在另一端进行元素删除。允许插入的一端,称为队尾,允许删除的一端,称为队头。 在队列的操作中,插入称为入队,删除称为出队。新来的成员总是加入队尾,排在队列前面的元素总是最先离开队列,由于这种先进先出的特性,让队列又叫先进先出表。队列可以用顺序存储,也可以用链式存储,前者叫顺序队列,后者叫链队列。2.顺序队列与链队列2.1顺序...原创 2020-04-09 10:32:56 · 2007 阅读 · 0 评论 -
按广义表表示二叉树结构生成二叉树链表的算法
用广义表表示二叉树结构如下:(A (B (,D (E,E),C))算法如下:#include <stdio.h>#include <stdlib.h>// 定义节点typedef struct Node{ char data; struct Node* lChild; struct Node* rChild;} BinTNode; // ...原创 2020-03-20 10:45:12 · 4803 阅读 · 2 评论 -
数据结构的术语
数据(Data):信息数据元素(Data Element):数据的基本单位,由若干数据项组成。数据项(Data Item):具有独立含义的最小单位。数据对象(Data Object):元素的集合数据结构(Data Structure):三要素(逻辑结构、存储结构、数据运算:增、删、改、查)逻辑结构:数据元素之间的关系(逻辑结构形式上用二元组,B=(K,R),K是结点的集合,R是K上关系...原创 2019-11-27 15:23:21 · 2196 阅读 · 0 评论