
数据结构
文章平均质量分 84
明月几时有666
互相学习,共同进步!
展开
-
程序的本质
前言:在了解了数据的本质后,有种看破红尘的大彻大悟感,发现程序并没有那么复杂。现将我对于程序的全新的认识记录如下要更好的理解本文,需要先了解数据,见博文:【什么是数据】一 程序的本质 计算机界对程序有经典的定义,即程序=数据结构+算法,可能你早有耳闻,但是对于为什么是这样定义的存在疑惑,本文接下来的介绍,会逐渐让你理解该定义。如图所示,描述了程序的由来。1 现实世界原创 2021-01-05 15:19:03 · 1020 阅读 · 0 评论 -
什么是数据结构
前言:学而不思则罔。数据结构课程的学习已经接近尾声,是时候停下脚步,来加深基本概念的理解与认识了。本文非原创,大部分内容来自以下链接。个人有少量的修改和补充及文字排版。原文链接一 数据结构相关术语参考《大话数据结构》,几个术语的定义如下数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。(关于数据的定义,个人比较推荐博文:什么是数据,可以加深对数据的理解)其实就是图书馆中所有的书的相关信息(所有书的各种信息的集合,如所有书的名字,所有书的出版社,所转载 2021-01-04 13:55:20 · 263 阅读 · 0 评论 -
数据类型的发展
一 前言 通过本文,你可以了解什么是数据,数据类型的发展。二 什么是数据数据,其实就是一种符号(文字、数字、语义符号、图形等)信息载体,从这种信息载体中我们能提取出信息。数据的详细介绍,建议阅读三 数据类型信息媒介是现实世界中事物(主观或客观)或其属性存在状态的映射。信息媒介可以是物理实体、声音、视频、符号(文字、数字、语义符号、图形等)等等。用符号来当信息媒介进行信息处理,对于人类来说是最高效的信息处理方式,因此符号(文字、数字、语义符号、图形等)是人类历史中最重要的信息媒介。然面,对于计原创 2021-01-01 18:05:47 · 378 阅读 · 0 评论 -
什么是数据
一 数据和信息 信息是指“表征了事物或其属性的特定存在状态”的一种抽象事物(见《论信息的本质》),那么,信息存在的唯一意义也是为了表征事物或其属性的特定存在状态,并且,如果离开发事物,信息也无从存在。 客观世界里,信息只能“依附”在具体事物中,提取信息只能从具体事物中提取。(例如,猫,白色的,1千克重,会爬树,会吃老鼠等等)。 抽象事物是人类思维中原创 2021-01-01 14:53:52 · 2021 阅读 · 0 评论 -
数据结构树相关的专业术语
*背景: 学习树相关的数据结构有一段时间了,有些专业术语经常在学习的过程中出现。有时,对专业术语的概念理解较模糊,如:平衡二叉树是指什么,造成对知识的理解出现偏差。所谓“工欲善其事,必先利其器”,是时候总结下了。方式,主要是通过查询网络、翻阅书籍和老师讲解的课堂笔记。一 树的基本概念 树是由n(n>=0)个节点构成的有限集合。n = 0的树称为空树;n != 0时,树中的节点应该满足以下两个条件:1 有且仅有一个特定的节点称为根节点2 其余节点分成m(m&g原创 2020-12-10 17:43:38 · 332 阅读 · 0 评论 -
并查集之您可能认识的人
一 并查集 什么是并查集呢?像队列、栈等数据结构,我们可以根据它们的特点给出定义,例如,栈是先进先后出的线性数据结构;队列是先进先出的线性数据结构,那么并查集是什么样的数据结构呢? 我们先将其“逐字分解”,分析出其处理数据的特点,最后在给出总结或定义。并查集中,集是指集合,并和查是针对集合的操作。“集”(即集合)的数学定义:集合是指具有某种特定性质的具体的或抽象的对象汇总而成的集体。其中,构成集合的这些对象则称为该集合原创 2020-12-03 15:08:12 · 467 阅读 · 0 评论 -
数据结构之字典树
一 字典树字典树(Trie,/tri:'i:/,又称前缀树):1、多叉树2、专门用于字符串处理,不把整个字符串看做一个整体,而是把每个字符看做一个整体二 结点定义每个节点存储一个字符和与后继字符的关系,对于不考虑大小写的英语单词,定语如下:class Node{ char c; Node next[26]; }问题:如果考虑大小写,或者存储的是其他语言,如俄语字符,每个字符的后继字符可能就不是26个,如此,数据结构就不够灵活了?解决1:考虑不同语言,不同情况,代码如原创 2020-11-29 11:16:32 · 233 阅读 · 1 评论 -
数据结构之优先队列
一 优先队列普通队列:先进先出优先队列:出队和优先级相关,与入队顺序无关动态选择优先级较高的元素出队。优先队列中的元素不是固定不变的,每次出队前都有可能有新的元素入队,每次出队时都要从此刻队列中的所有元素中选择优先级最高的元素 二 应用场景普通队列,现实生活中的各种排队现象,排队上车,排队买票,排队吃饭等等优先队列,操作系统中的任务调度等等...原创 2020-11-22 16:03:39 · 371 阅读 · 0 评论 -
数据结构之堆
一 定义堆(最大堆):1. 完全二叉树2. 树中的每个节点(包含的元素值)都大于或等于左、右孩子节点最小堆的定义与之类似。二 底层实现 逻辑结构是完全二叉树的数据,可以采用顺序存储,即数组实现。存储结构需要体现逻辑结构,即要能够存储元素(或数据),更重要的是要能存储数据之间的关系。采用数组作为底层实现后,索引成为了元素的位于标识方式,元素的访问只能通过索引,索引相当于“地址”,于是元素之间的关系也就原创 2020-11-22 13:56:21 · 212 阅读 · 0 评论 -
数据结构之映射
一 映射定义:存储(键Key,值Value)数据对的数据结构原创 2020-11-19 11:29:39 · 594 阅读 · 0 评论 -
数据结构之集合
背景:接下来要学习集合Set,这种高层的数据结构。所谓“高层的数据结构”,就是我们先定义好该数据结构的使用接口,有了这些使用接口和该数据结构本身维持的性质(或本身具有的特点),我们就可以在应用中使用它们,而它们的具体实现可以是是多种多样的。类似的数据结构如栈、队列。例如,栈定义了入栈和出栈等使用接口或操作;特点:后进先出;可以基于数组和链表进行实现。它可以解决“后进先出”类型的问题,如:系统栈程序调用、子弹射击等一 集合特点:每一个元素只存在一份,即不存储重复元素应用:依据该数据结构的特点——“去重原创 2020-11-18 15:33:48 · 718 阅读 · 0 评论 -
从汉诺塔学习递归类问题的求解方法
(可忽略)背景:首先,关于标题的大言不惭,表示抱歉。目前,网上有很多关于汉诺塔求解的博文,我看了一些,感觉大致相同。首先都是圆盘移动的规律讲解了一下,然后贴上了解题代码。对递归的本质,没有进行深入的探究,可能也能解决当前的汉诺塔问题,但是给你一个新的递归类问题去解决,还是不行。在学习了imooc刘老师的课程后,对递归有了更清晰的认识,因此写此博文,总结递归类型问题的求解方法。希望看的人也可以有所收获,谢谢。一 递归本质上,递归是将原来的问题,转化为更小的同一问题二 递归案例分析此部分通过一个简单的案原创 2020-11-05 17:17:09 · 993 阅读 · 2 评论 -
数据结构
测试原创 2020-11-18 10:31:26 · 128 阅读 · 0 评论 -
数据类型和数据结构的区别
一 数据类型数据类型反应了数据的取值范围以及对这类数据可以施加的运算。二 数据结构数据结构是指按一定的逻辑结构组成的一批数据,使用某种存储结构将这批数据存储于计算机中,并在这些数据上定义了一个运算集合。1. 逻辑结构常见的数据的逻辑结构:线性结构、树形结构和图形结构。2. 存储结构常见的数据的存储结构:顺序存储、链式存储、索引存储和散列存储。3. 运算集合数据的运算包括:插入、删除、检索、输出、排序等。三 两者的区别 &原创 2020-07-27 18:01:50 · 9709 阅读 · 1 评论