一、vector和list的不足:无法兼顾静态操作和动态操作的性能 二、半线性结构:树 层次关系的表示 RPN表达式: 1 2 + 3 + 域名系统 、大学系统 rooted tree (有根树),子树(subtree) ri称为r的孩子(child),ri之间互称为兄弟(sibling)。r为其父 ...
分类:
其他好文 时间:
2019-09-02 15:39:16
阅读次数:
105
第一篇 基本概念 01 什么是数据结构.md 02 什么是算法.md 03 应用实例 最大子列和问题.md 第二篇 线性结构 01 线性表及其实现.md 02 堆栈.md 03 队列.md 04 应用实例 多项式加法运算.md 05 小白专场 多项式乘法与加法运算 c语言实现.md 05 小白专场 ...
分类:
编程语言 时间:
2019-08-25 12:00:45
阅读次数:
92
主要讲述二叉堆实现及其优化,优先队列实现以及Java语言中的实现及其应用。 ...
分类:
编程语言 时间:
2019-08-24 15:08:31
阅读次数:
91
在第三章我们将继续学习三种非常重要的线性结构,分别是栈和队列的这样的受限线性表。我们将从它们的基本概念、存储结构以及相关应用这三方面进行详细的学习。最后我们将学习数组的相关知识,大家要注意一下这里的数组指的是一种线性结构,与我们之前在程序设计语言当中提到的数组类型是不同的概念。好,数组我们会学习它的 ...
分类:
其他好文 时间:
2019-08-24 09:36:40
阅读次数:
61
一、封装 将多个值使用逗号分割,组合在一起,本质上返回一个元组,只是省掉了小括号 python特有语法,被很多言语学习和借鉴 二、解构 把线性结构的元素解开,并顺序的赋给其他变量 左边接纳的变量数要和右边解开的元素个数一致 举例: >>> lst = [3,5] >>> a,b = lst >>> ...
分类:
编程语言 时间:
2019-08-19 20:56:02
阅读次数:
77
字符串: 群: ? 群是一种只有一个运算的,简单的线性结构,可用来建立许多其他代数系统的一种基本结构. ? 设G是一个非空集合,a,b,c为它的任意元素.如果对G所定义的一种代数运算"."满足: 1. 封闭性:a.b属于G 2. 结合律:(ab)c=a(bc) 3. 对于G中的任意元素a,b在G中存 ...
分类:
编程语言 时间:
2019-08-17 19:52:01
阅读次数:
92
线性结构的两种常见应用之二: 队列 定义: 一种可以实现“先进先出”的存储结构,即“一端入,一端出”, 队首(front)出队,队尾(rear)入队(注:若front指向队首,则rear指向队尾最后一个有效元素的下一个元素;若rear指向队尾,则front指向队首第一个有效元素的下一个元素) 分类: ...
分类:
编程语言 时间:
2019-08-14 15:03:13
阅读次数:
81
无论是迷宫游戏、扫雷游戏,还是常用的搜索引擎,甚至高端AI人机博弈等都需要算法来更好的实现。 算法是软件方面提升计算机效率的利器。 算法与数据结构分不开,用代码实现算法,至少会涉及到一种数据结构,数据结构通常有: 线性结构树形结构图算法就要分别对应不同数据结构去排序。 当一个算法思想提出后,往往还需 ...
分类:
编程语言 时间:
2019-08-10 12:00:37
阅读次数:
94
介绍完数组和链表,以及两个特殊的线性结构栈和队列后,已经算是迈入了数据结构的门了,后面很多其他更复杂的数据结构都会基于数组和链表来实现,比如散列表、树、图等,有些甚至需要结合数组和链表来实现,在继续介绍后续复杂的数据结构之前,我们穿插进来一些常见的排序算法和查找算法,在系统介绍这些算法之前,我们先来 ...
分类:
其他好文 时间:
2019-08-03 13:02:19
阅读次数:
89
线性结构【把所有的结点用一根直线穿起来】 连续存储【数组】、离散存储【链表】(不连续的,可分隔开来) ...
分类:
编程语言 时间:
2019-07-27 18:21:50
阅读次数:
96