算法与数据结构
文章平均质量分 88
算法与数据结构学习笔记
LoveG_G
爱撸猫的阿聪
展开
-
算法与数据结构(六)
第四章 树结构 4.1 树结构概念 树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。 树的结点 结点:使用树结构存储的每一个数据元素都被称为“结点” 父结点(双亲结点)、子结点和兄弟结点:对于图 1(A)中的结点 A、B、C、D 来说,A 是 B、C、D 结点的父结点(也称为“双亲结点”),而 B、C、D 都是 A 结点的子结点(也称“孩子结点”)。对于 B、C、D 来说,它们都有相同的父结点,所以它们互为兄弟结点。 树根结点(简称“根结点”):每一个非空树都有且只有一原创 2021-03-09 23:46:24 · 144 阅读 · 0 评论 -
算法与数据结构(五)
第三章 数据结构 3.2 符号表 符号表是存储键及对应值的数据结构,符号表中存储的元素由键,值和指向下一个值的指针域组成,可通过键查找到对应的值。 符号表中,键必须是唯一的,而值可以不唯一。 日常生活中,根据关键字百度查找资料,根据目录查找书籍内容,都是符号表使用的体现。 链表实现API : 类名 Node<K,V> 构造 Node<K k, V v, Node next> 创建Node对象 成员变量 ..原创 2021-03-09 21:15:36 · 124 阅读 · 0 评论 -
算法与数据结构(四)
第三章数据结构 3.1线性表 3.1.6栈 栈也是线性表数据结构的一种 :栈是一种只能从表的一端存取数据且遵循 "先进后出" 原则的线性存储结构。 栈对于数据存和取有特殊要求 : 栈只能从表的一端存取数据,另一端是封闭的 在栈中,无论是存数据还是取数据,都必须遵循"先进后出"的原则,即最先进栈的元素最后出栈。 栈的开口端被称为栈顶;相应地,封口端被称为栈底。 LIFO : LastInFirstOut 进栈和出栈 基于栈结构的特点,在实际应用中,通常只...原创 2021-03-09 11:20:11 · 109 阅读 · 0 评论 -
算法与数据结构(三)
第三章 数据结构 3.1 线性表 线性表是最基本、最常见的一种数据结结构,线性表是n个具有相同特征的数据元素的有限序列 常见场景排队 : 前驱元素 若A元素在B元素的前面,则称A为B的前驱元素 后继元素 若B元素在A元素的后面,则称A为B的后继元素 线性表特性 : 数据元素之间具有1对1的逻辑关系 第一个元素没有前驱元素,称为头节点 最后一个元素没有后继元素, 称为尾节点 除了第一个元素和最后一个元素,其他元素有且仅有一个前驱和一个后继 线性表用数学语言来定:...原创 2021-03-06 03:21:53 · 251 阅读 · 2 评论 -
算法与数据结构(二)
第二章排序算法 2.1基本排序算法 2.2高级排序算法 2.2.1希尔排序 2.2.2归并排序 2.2.3快速排序 快速排序原理 :将原来的数据切分为两个组,两个组再切分,每次切分选择第一个元素作为切分的分界值,切分之后左子组都小于分界值,右子组大于分界值,左右子组递归调用再切分,到最终不能切分就完成了所有值的排序; 快速排序原理图 : 分组原理图 : 快速排序的核心 快速排序代码实现 /** * 快速排...原创 2021-03-05 15:54:15 · 247 阅读 · 1 评论 -
算法与数据结构(一)
第一章 算法和数据结构概述 1.1数据结构 数据结构,直白地理解,就是研究数据的组织方式和存储方式。数据在计算机存储空间的存放,决不是胡乱的,这就要求我们选择一种好的方式来存储数据,而这也是数据结构的核心内容。 数据存储的目的是为了更好的使用 ,存储之间具有复杂关系的数据,需要特殊的结构存储,方便读取使用; 数据结构是一门学科,它教会我们“如何存储具有复杂关系的数据更有助于后期对数据的再利用”。 按照逻辑结构 1.包结构 : 数据元素之间无关系 2.线性结构 :数据元素之...原创 2021-03-10 11:26:33 · 515 阅读 · 0 评论