数据结构
文章平均质量分 72
MyFamily_IT
只为更好的自己而努力。
展开
-
数据结构(六) 七大排序详解
说到排序,我先给大家介绍一个慨念,排序的稳定性。对于两个或两个以上的关键字相等的记录,排序的结果可能会存在不唯一性,这就牵扯到稳定与不稳定。假设k1 = k2,k1在k2前面,且排序后的序列,k1,k2对应的值没发生前后变化,就说这种排序是稳定的,反之,不稳定。如图:下面再提一个慨念,内排序和外排序。内排序:在整个排序过程中,待排序的所有记录都被放置在内存 中。外排序:由于排序的记录太多,不能同时...原创 2018-01-25 20:57:54 · 495 阅读 · 0 评论 -
数据结构(五)二叉树及其运用(递归方式)
数据结构分为线性结构和非线性结构,而这次所讲的树和二叉树为非线性结构。对于树和二叉树的理解,运用图能更好的让我们去直观的思考。在这之前,我先给大家提几个关于二叉树的慨念。树:是由n个结点构成的集合。n = 0 的树为空树。结点:包括一个元素及若干个指向其子树的分支。结点的度:结点所拥有的子树的个数称为该结点的度。叶节点:度为 0 的结点,也叫终端结点。满二叉树:在一棵二叉树中所有分支都有左右孩子,...原创 2018-01-16 11:34:24 · 610 阅读 · 1 评论 -
数据结构(四)查找算法(c语言)
查找是数据处理经常进行的操作。这里我介绍常见的几种,主要有静态查找,动态查找,哈希查找。静态查找有:二分查找,顺序查找,插值查找 ,斐波那契查找。动态查找:主要针对二叉树。哈希查找 :主要理解哈希查找的思想 。第一种:二分查找 。在一个查找区,确定中心位置后,用待查找的值与中心值比较,前者大,就把查找区锁定到后半段,反之,锁定在前半段。这样的过程一直进行,知道查找区边界结束 。有序顺序表的二分查找...原创 2018-01-15 20:03:28 · 1688 阅读 · 1 评论 -
数据结构(三)队列(链队和循环队列)
队列是一种操作受限的线性表。队列的特点是先进先出(FIFO),队尾(rear)允许插入操作的一端,队首(front)允许删除操作的一端,新元素从队尾进,队首出,所以说,它是先进先出的一种线性表。队列有链队列和顺序队列两种。链队列不会出现队满这种现象,而顺序队列会发生队满现象。这于他们的存储方式有关。下面我先用图来,简单介绍链队列和顺序队列,然后给大家相关代码,方便大家明白它的使用方式。1,对于顺序...原创 2018-01-12 19:08:11 · 819 阅读 · 0 评论 -
数据结构(二)栈和栈的应用举例
栈(FILO,先进先出),作为操作受限的特殊线性表,其存储结构与操作算法与一般线性表不相同,这里做一个专门讨论。由于栈作为操作受限的特殊线性表,因此线性表的存储结构对栈也适用,只是操作不同。栈有两种存储结构:顺序栈和链栈。栈有栈顶(TOP)和栈底(base)。对于静态顺序栈来说 ,入栈和出栈相对比较简单,入栈:S【top++】=e。出栈*e = S【--top】。对于链栈,我们有一定的特殊性,程序...原创 2018-01-10 14:54:25 · 674 阅读 · 0 评论 -
数据结构(一)顺序表和线性表重点概述
线性表的顺序存储结构可以认为就是顺序表。顺序表利用了内存空间的一维,线性,连续性特点。优点是:节省存储空间,便于随机访问,访问效率高,存储实现简单,容易实现。缺点是:连续性,静态性,运算不方便性(不便于插入,删除操作)。线性表的链式存储结构有单链表,双链表,循环链表,静态链表。单链表存储结构与顺序表存储结构相比:二者的优缺点恰恰相反,即顺序表的优点正是单链表的缺点。所以,单链表存储结构的优点是:不...原创 2018-01-05 21:43:27 · 482 阅读 · 0 评论 -
链表,双链表,循环链表的常见操作
这篇文章用于巩固,复习用,所以不做链表的慨念和相关知识。直接上代码,来复习那些已经快要忘却的链表操作。理解的同时,动手敲几遍代码,才能牢固掌握欧实现单链表的建立,测长,打印,删除,插入,排序,逆置,查找中间节点 #include <iostream> #include <stdio.h> #include <string.h> #include <coni...原创 2018-05-30 15:59:28 · 579 阅读 · 1 评论