数据结构
文章平均质量分 63
数据结构
东城青年
非宁静无以致远
微信号:15221816820
展开
-
堆排序方法
开门见山,本文讲述堆排序。就我自身对于排序的了解来看,其实堆排序是诸多排序中最难写的,光是理解起来都有点费劲,本文旨在于用通俗易懂的话,把堆排序娓娓道来。下面,开始!1:堆毫无疑问,排序两个字没必要去死磕,这里的重点,在于排序的方式,堆排序,就是以堆的形式去排序,毫无疑问,了解堆很重要。那么,什么是堆呢?这里,必须引入一个完全二叉树的概念,然后过渡到堆的概念。上图,...转载 2019-09-18 09:45:06 · 147 阅读 · 1 评论 -
插入排序法
插入排序相对冒泡排序而言是一种较为快捷方便的排序算法。冒泡排序:http://blog.csdn.net/llzk_/article/details/51547923插入排序原理很简单,讲一组数据分成两组,我分别将其称为有序组与待插入组。每次从待插入组中取出一个元素,与有序组的元素进行比较,并找到合适的位置,将该元素插到有序组当中。就这样,每次插入一个元素,有序组增加,待插入组减少。直到待...转载 2019-11-06 10:12:55 · 288 阅读 · 1 评论 -
二叉排序树的查找与删除
构造一颗二叉排序树的目的,其实并不是为了排序,而是为了提高查找和插入删除关键字的速度。不管怎么说,在一个有序数据集上的查找,速度总是要快于无序数据集的,而二叉排序树这种非线性的结构,也有利于插入和删除的实现。二叉排序树的查找:先查找其根节点,如果根节点的数据与data值相等,则返回该根节点;否则, 如果data值大于根节点,则查询其右子树;如果小于根节点,则查询其左子树。pn...原创 2019-03-21 14:21:23 · 471 阅读 · 0 评论 -
二叉排序树的构建与遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树的链式存储结构是一类重要的数据结构。二叉树是每个结点最多只有两个子树的有序树。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2^(i -1)个结点;深度为k的二叉树至多有2^k-1个结点;对任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0 = n...原创 2019-03-20 21:08:30 · 1118 阅读 · 0 评论 -
栈与队列
数组与链表是数据存储的基本方法。成员访问中,数组可以随机的访问成员,链表通过遍历可以去找到需要的数据单元。栈与队列是两种特殊的数据成员管理方式。它们本身的数据存放方式也是数组或者链表。栈:FILO(先进后出)。只允许在栈顶添加元素和删除元素(出栈和入栈) 队列:FIFO(先进先出)。在队首删除元素,在队尾添加元素(出队和入队)判断什么时候栈为空栈底加一个特殊标记 记录栈底的...原创 2019-03-17 13:16:39 · 177 阅读 · 0 评论 -
数据存储(链表与数组)
数据存放在内存中,在内存中的组织形式只有两种:衡量一个算法是否优越:时间复杂度(耗费时间) 空间复杂度(占用内存)1、数组的管理int a[100];//就是在内存中申请100个连续的sizeof(int)空间int *p = (int *)malloc(100xsizeof(int));//在堆空间中申请100个连续的int空间对空间进行访问:得到第10...原创 2019-03-16 14:50:49 · 2135 阅读 · 0 评论