/* 第一章 快速入门第二章 变量和基本类型第三章 标准库类型第四章 数组和指针第五章 表达式第六章 语句第七章 函数第八章 标准IO库第九章 顺序容器第十章 关联容器第11章 泛型算法 时间: 2024-11-05 22:48:14
第十二章 二叉搜索树 >=左子树的所有key,<=右子树的所有key 在一棵高度为h的二叉搜索树上,动态集合上的操作SEARCH,MINIMUM,MAXIMUM,SUCCESSOR,PREDECESSOR,INSERT和DELETE可以在O(h)时间内完成. h>=(lgn向下取整) 和快速排序算法一样,其平均性能更接近于最好情形. 随机构建二叉搜索树期望高度为O(lgn). 各种操作请自行查阅. 第十三章 红黑树 是一种(近似)平衡的二叉搜索树.可以保证在最坏情况下基本动态集合操作的时
算法导论第14章 数据结构的扩张 一些工程应用需要的只是标准数据结构, 但也有许多其他的应用需要对现有数据结构进行少许的创新和改造, 但是只在很少情况下需要创造出全新类型的数据结构, 更经常的是通过存储额外信息的方法来扩张一种标准的数据结构, 然后对这种数据结构编写新的操作来支持所需要的应用. 但是对数据结构的扩张并不总是简单直接的, 因为新的信息必须要能被该数据结构上的常规操作更新和维护. 14.1 动态顺序统计 顺序统计树(order-static tree) : 在红黑树的基础上, 在每个
当你有很多书时,你会考虑买一个书柜,将你的书分门别类摆放进入.使用了书柜不仅仅使房间变得整洁,也便于以后使用书时方便查找.在计算机程序中会有很多数据,这些数据也需要一个容器将他们管理起来,这就是数据结构.常见的数据结构:数组(Array).集合(Set).列表(List).队列(Queue).链表(Linkedlist).树(Tree).堆(Heap).栈(Stack)和字典(Dictionary)等结构. Python中数据容器主要有:序列.集合和字典. 注意Python中并没有数组结构,因为
第十章 基本数据结构 栈:可由数组表示 队列:可由数组表示 指针和对象:可由多数组表示.可用栈表示free list 有根数: 二叉树:左右孩子 分支无限制:左孩子右兄弟表示法 第十一章 散列表 数组:为每个元素保留一个位置 散列表:用于实际存储关键字比全部可能关键字少很多时,比如字典操作 解决散列冲突:链接法,开放寻址法 11.2 散列表 用链表法,在简单均匀散列的假设下,一次成功或不成功的查找所需要的平均时间为Θ(1+α),α为load factor. 11.3 散列函数 好的散列函数应(近
本章主要讲的是python中重要的四种数据结构,分别是列表.元组.字典和集合. 6.1 列表 list 是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目.列表中的项目应该包括在方括号中,这样 Python 就知道你是在指明一个列表.一旦你创建了一个列表,你可以添加.删除或是搜索列表中的项目. 6.2 元组 元组用来将多样的对象集合到一起.元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组.元组通过圆括号中用逗号分割的项目定义. 含有 0个或 1个项目的元组:
数据结构是一门研究非数值计算的程序设计问题中的操作对象,以前他们之间的关系和操作等相关问题的学科. 程序设计 = 数据结构 + 算法 数据:描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合.数据元素:组成数据的.有一定意义的基本单位,在计算机中通常作为整体处理.也被称为记录.数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位.数据对象:是性质相同的数据元素的集合,是数据的子集.(性质相同即具有相同数量和类型的数据项)数据结构:是
1.1 什么是数据结构 在数据结构中数据之间的关系主要有两种:线性关系和非线性关系(非线性关系又分为树形关系和图形关系). 如上图:每个数据单位(一条学生记录)相邻的前一个数据单位最多只能有一个(第一个没有),相邻的后一个数据单位最多只能有一个(最后一条没有).这种数据单位的集合成为数据集合,这种数据之间的关系成为线性关系(这种数据文件就是一个线性表). 我们的电脑硬盘中的目录文件结构,是一个树形结构(树形关系),这种即是非线性的: 多台电脑之间互相通信的多对多的关系,属于非线性关系中的图关系
数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并能被计算机程序处理的符号的总称. 数据结构是相互之间存在一种或多种特定关系的数据元素的结合. 数据结构=数据元素+关系(结构): 数据在计算机中的表示称为数据的储结构 任何一个算法的设计取决于选定的逻辑结构,而算法的实现依赖于采用的存储结构 程序=数据结构+算法 算法是对特定问题求解步骤的一种描述 算法的5大特性: 1) 有限性,算法必须在有限的步骤之后结束 2) 确定性,算法的每一步都是确定的定义,无二义性.即在任何条件下
本文章作为学习笔记,大量参考了<大话数据结构>这本书,因为没有用于商业活动,而且也算是为作者做了一个小小的宣传,作者应该不会告我侵权,哈. 数据结构的概念:是相互之间存在的一种或多种特定关系的数据元素的集合.(学了半天这个概念得知道吧!) 开场白 数据结构有什么用?如果你想走程序员的道路,如果你不想一辈子搬砖,如果你想比别人工资高百分之三十,如果你想让家人过上好日子,如果... 够现实了吧! 数据结构的起源 数据结构是程序员的炼狱,你经历了数据结构的"折磨"才能蜕变.数据
程序设计 = 数据结构 + 算法 数据结构的一些相关概念: 数据结构的定义:数据结构是相互之间存在一种或多种特定关系的数据元素的集合. 数据结构的分类: 逻辑结构是面向问题的.而物理结构是面向计算机的.其主要的目标就是将数据及其逻辑关系存储到计算机的内存中. 数据类型(以C语言为例)分为原子类型(整型.字符型等)和结构类型(如整型数组). 抽象数据类型(即对已有的数据类型进行抽象,如对一个点的描写叙述抽象为point类型:Abstract Data Type, ADT):指一个数学模型及定义在给