数据结构
文章平均质量分 80
数据结构(英语:Data Structure)是计算机中存储、组织数据的方式。数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定的作业任务。
Onism_DreamBoat
这个作者很懒,什么都没留下…
展开
-
图及其应用
多对多的关系。无向图:每条边都没有方向有向图:每条边都有方向完全图:任意两个点都有一条边相连(无向完全图:n个顶点,有n(n-1)/2条边;有向完全图:n个顶点,有n(n-1)条边)稀疏图:有很少边(无向图)或弧(有向图)的图(e原创 2023-05-28 21:04:46 · 707 阅读 · 0 评论 -
哈夫曼树及其应用
哈夫曼树又称最优二叉树,是一种带权路径长度最短的二叉树。所谓树的带权路径长度,就是树中所有的叶结点的权值乘上其到根结点的路径长度(若根结点为0层,叶结点到根结点的路径长度为叶结点的层数}。树的路径长度是从树根到每一结点的路径长度之和,记为WPL = (W1*L1+W2*L2+W3*L3+…+Wn*Ln),N个权值Wi(i=1,2,…n)构成一棵有N个叶结点的二叉树,相应的叶结点的路径长度为Li(i=1,2,…n)。可以证明哈夫曼树的WPL是最小的。原创 2023-05-11 20:48:47 · 640 阅读 · 2 评论 -
二叉树及其遍历
树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。有且仅有一个特定的称为根(Root)的结点;当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…、Tn,其中每一个集合本身又是一棵树,并且称为根的子树。n>0时根结点是唯一的,不可能存在多个根结点,数据结构中的树只能有一个根结点。m>0时,子树的个数没有限制,但它们一定是互不相交的。原创 2023-04-30 16:40:23 · 1183 阅读 · 0 评论 -
栈及其应用
栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶(top),相对地,把另一端称为栈底(bottom)。向一个栈插入新元素又称作进栈、入栈或压栈(push),它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈(pop),它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。原创 2023-04-24 11:51:11 · 210 阅读 · 0 评论 -
汉诺塔问题
汉诺塔问题具有重要的算法思想和应用价值。在计算机科学中,汉诺塔问题经常被用作算法设计和分析的基础问题,可以帮助我们理解递归、分治和栈等基本概念和算法技术。此外,汉诺塔问题也被广泛应用于编译器、操作系统、数据库等计算机领域中的算法设计和优化,具有重要的实际意义。原创 2023-04-19 15:44:12 · 3358 阅读 · 0 评论 -
线性表总结
线性表是指在数学上或者计算机科学中,由一系列按照线性顺序排列的、相同类型的元素组成的集合。线性表的基本特征是有且仅有一个首元素和一个末元素,其他元素都有且仅有一个直接前驱和直接后继。线性表可以用数学公式表示为:L=(a1, a2, …, an),其中L表示线性表,ai表示线性表中的元素。总之,线性表是计算机科学中最基础的数据结构之一,具有广泛的应用场景。掌握线性表的基本概念和操作,能够为学习其他数据结构和算法奠定坚实的基础。原创 2023-04-19 15:03:46 · 478 阅读 · 0 评论 -
多项式加法
多项式加法是多项式的一种运算,几个多项式相加的法则是:首先把带减号的多项式中的每个单项式都变号合成一个多项式,然后合并同类项,并按字典排列法写出结果试。.原创 2023-04-10 21:35:36 · 367 阅读 · 0 评论 -
实现静态链表
逻辑结构上相邻的数据元素,存储在指定的一块内存空间中,数据元素只允许在这块内存空间中随机存放,这样的存储结构生成的链表称为静态链表。也就是说静态链表是用数组来实现链式存储结构,目的是方便在不设指针类型的高级程序设计语言中使用链式结构。它的优点是和动态链表一样,删除和插入元素时间复杂度低;不足是和数组一样,需要提前分配一块较大的空间。原创 2023-04-08 22:43:27 · 67 阅读 · 0 评论 -
数据存储之链式存储
所以可以得知,它是由两部分组成,一部分为数据域(存放数据的地方),另一部分为指针域(“链条”)。单链表也是最简单且最经典的链式结构,其组成结构也是最简单的,只有一个数据域和一个指向下一个数据域的指针域。上一节课学习了顺序表存储,知道了其工作原理和优缺点,下面将开始学习另一种存储方式:链式存储,俗称链表。由此可以看出,链表的优缺点也一目了然,查询速度慢,但操作速度(插入、删除)快。说明上面的几个函数代码实现没有问题,接下来,实现其他函数。删除功能也实现完毕,最后,实现关闭链表的函数。下面,将用代码实现链表。原创 2023-03-29 22:27:35 · 1201 阅读 · 0 评论 -
数据存储之顺序表
顺序表是在计算机内存中以数组的形式保存的线性表线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。1. 因为顺序表大多是利用数组实现,所以长度是固定的,当数组存完之后,无法拓展长度插入新的数据。当然,上面的代码是不完整的,下面,将自己实现代码中缺失的一部分(函数)原创 2023-03-24 20:42:37 · 253 阅读 · 0 评论 -
初始数据结构
数据结构与算法是一门很古老的课程,但也是非常重要的一门课程。所以及时过了如此之久,仍然是计算机专业中的一门专业课,那我们就先开始第一门课吧~原创 2023-03-22 11:57:18 · 111 阅读 · 0 评论