
数据结构
每天学一点数据结构
Erase Me
一个搞笑的大学生
展开
-
二叉树的遍历
二叉树的遍历是指从根结点出发,按照某种次序依次访问二叉树中的所有结点,使得 每个结点被访问且被访问一次。这个计算机她不像我们人一样是长了一双睿智的眼睛,一看这个二叉树的图就知道该怎么简单地遍历完这棵二叉树,但就这么简单的的事搁在计算机眼里就只有无限的循环和判断,因为她比我们理性多了。1、先(前)序遍历:若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子树,再前序遍历右子树。v...原创 2020-02-29 15:36:26 · 223 阅读 · 0 评论 -
树和二叉树
树的基本术语:结点的度(Degree):结点的子树个数;树的度:树的所有结点中最大的度数;叶结点(Leaf):度为0的结点;父结点(Parent):有子树的结点是其子树的根节点的父结点;子结点/孩子结点(Child):若A结点是B结点的父结点,则称B结点是A结点的子结点;兄弟结点(Sibling):具有同一个父结点的各结点彼此是兄弟结点;路径和路径长度:从结点n1到nk的路径为一个...原创 2020-02-29 09:58:42 · 451 阅读 · 0 评论 -
广义表
广义嘛,有点类似类比的意思,那么广义表就是线性表的推广,也称列表。逻辑结构为GL = (a1,a2,…ai,…an)广义表具有以下的特性:广义表中的数据元素是相对有次序的;广义表的长度要取层次的最外层;广义表的深度为包含括号的层数,比如原子是孤儿所以他就没有深度,空表连原子都没有偏偏就占一个深度;广义i傲视可以被共享的,可以被共享的广义表被称为再入表(目前没发现有啥卵用);广...原创 2020-02-28 14:14:31 · 479 阅读 · 0 评论 -
字符串(String)
串是什么串(String)(或字符串)室友零个或者多个字符组成地有限虚空序列,一般记为s = “a1a2⋅⋅⋅ana_1a_2···a_na1a2⋅⋅⋅an” (n>=0)其中s是串的名,双引号里面的是串的值;aia_iai(1<=i<=n)可以是字母、数字或者其他区字符;串字符数目n为串的长度;零个字符的串称为空串,其长度为零;串中任意...原创 2020-02-21 15:36:54 · 249 阅读 · 0 评论 -
递归
本文部分内容转载至什么是递归(recursion algorithm)递归的定义:递归最基本的思想就是“自己调用自己、以此类推”,在定义一个过程或函数时,出现直接或间接调用自己的成分,那我们呢就称之为递归。哪些问题可以用递归:1、定义是递归的:较为经典的一个例子呢就是数学中的阶乘计算:对于阶乘函数我们就可以使用递归算法来求解。long Fact (lon...原创 2020-02-20 23:34:56 · 173 阅读 · 0 评论 -
数据结构与算法-栈和队列
从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作也是线性表操作的子集,他们是操作受限的线性表,英词可以称作限定的数据结构。但从数据类型角度来看,他们是和线性表不相同的两类重要的抽象数据类型。栈的定义和特点如何理解“栈”?用现实一个通俗贴切的例子,我们平时放盘子的时候,都是从下往上一个一个放;取的时候,我们是从上往下一个一个地依次取,不能从中间任意抽出,先进后出,这就是典型的...原创 2020-02-20 19:01:02 · 365 阅读 · 0 评论 -
数据结构与算法-链表(线性表的链表表示和实现)
本文部分内容摘自极客时间《数据结构与算法之美》和网络,仅供笔者学习和复习用。单链表的定义和表示什么是链表1.和数组一样,链表也是一种线性表。2.从内存结构来看,链表的内存结构是不连续的内存空间(也可以是连续的),是将一组零散的内存块串联起来,从而进行数据存储的数据结构。3.链表中的每一个内存块被称为节点Node。节点除了存储数据外,还需记录链上下一个节点的地址,即后继指针nex...原创 2020-02-17 19:09:58 · 1676 阅读 · 1 评论 -
数据结构与算法笔记 数组(线性表的顺序表示和实现)
线性表的顺序存储表示我们可以想象,线性表有两种物理存储结构:顺序存储结构和链式存储结构。线性表的顺序表示指的是用一组地址连续的存储单元一次存储线性表的数据元素,这种也称作线性表的顺序存储结构或者映像。通常称这种顺序存储结构的线性表为顺序表(SequentialList)。其特点是,逻辑上的相邻的的数据元素,其物理次序也是相同的。物理上的存储方式事实上就是在内存中找到初始地址,然后通过占位...原创 2020-02-16 21:03:30 · 338 阅读 · 0 评论 -
数据结构与算法笔记-线性表定义和特点
线性表的定义和特点# 定义:由n (n>0)个数据特性相同的元素构成的有限序列称为线性表。# 对于非空线性表或者线性结构,其特点是:存在唯一的一个被称作“第一个”的数据元素;存在唯一的一个被称作“最后一个”的数据元素;除第一个以外,结构中的每个数据元素均只有一个前驱;除最后一个以,外结构中每个数据元素只有一个后继。线性表的类型定义线性表示相当灵活的数据结构,其长度可...原创 2020-02-16 17:18:50 · 2750 阅读 · 0 评论