数据结构
cy941228
这个作者很懒,什么都没留下…
展开
-
数据结构—绪论及时间空间复杂度
一、绪论1、 什么是数据结构?程序设计=数据结构+算法,再简单的来说数据结构就是关系,是数据元素相互之间存在的一种或多种特定关系的集合2、 数据结构的分类逻辑结构:数据对象中数据元素之间的相互关系物理结构:数据逻辑结构在计算机中的存储形式3、 逻辑结构分类集合分类:集合结构中的数据元素除了同属一个集合外,无其他关系线性结构:数据元素是一对一的关系树形结构:原创 2016-11-16 18:18:55 · 219 阅读 · 0 评论 -
数据结构—算法的时间复杂度及空间复杂度
3、时间复杂度和空间复杂度算法时间复杂度的定义:在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。关键:执行次数=时间一般情况下,随着输入规模n的增大,T(n)增长最慢的算法为最优算法 如何分析一个算法的时间复杂度?(1) 用常数1取代运行时间中的所有加法常数(2) 在修改后的运行原创 2016-11-17 11:10:24 · 266 阅读 · 0 评论 -
数据结构—线性表1
一、线性表定义:由零个或多个数据元素组成的有限序列。强调:1、线性表是一个序列,也就是说元素之间是有先来后到的 2、若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱和后继 3、线性表是有限的,即他能够处理的元素是有限的 举列:请问公司的组织架构是否属于线性关系?答:不是。这个架构是一对多的关系,不属于线性表 二、原创 2016-11-18 12:07:48 · 229 阅读 · 0 评论 -
数据结构—线性表顺序存储插入和删除操作
线性表的操作:1、InitList(*L):初始化操作,建立一个空的线性表L2、ListEmpty(L):判断线性表是否为空,如果为空,返回true,否则返回false 3、ClearList(*L):将线性表清空 4、GetElem(L,I,*e):将线性表中的第i个位置元素值返回给e 5、LocateElem(L原创 2016-11-19 22:18:52 · 4899 阅读 · 0 评论 -
线性表
一、线性表顺序存储结构的优缺点优点:1、 无需为表中元素之间的逻辑关系二增加额外的存储空间2、 可以快速的存取表中任意位置的元素缺点:1、 插入和删除操作需要移动大量元素2、 当线性表长度变化较大时,难以准确确定存储空间的容量3、 容易造成存储空间的碎片原创 2016-11-20 21:01:56 · 79 阅读 · 0 评论 -
STL基本容器: string、vector、list、deque、set、map
在STL中基本容器有: string、vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少 map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了string、 vector、list、deque、set 是有序容器 1.string转载 2016-12-03 23:07:54 · 599 阅读 · 0 评论 -
线性表的链式存储结构
之前实现了线性表的顺序存储方式发现顺序存储方式是存在缺陷的,就是插入和删除时需要移动大量的元素,显而易见这种顺序存储的方式需要耗费大量的时间,那仫我们有没有办法解决它呢?这就是我今天要实现的线性表的链式存储结构... 我们知道在顺序表中它的物理存储位置是连续的所以当我们以顺序表的形式实现线性表的插入和删除时我们需要移动大量的元素; 假设线性表中的每个数据存储的位置存在间隙我们是转载 2016-11-21 22:10:24 · 237 阅读 · 0 评论 -
软考复习资料:专题一:计算机系统知识
专题一:计算机系统知识 1、计算机硬件基础知识: 1.1计算机系统结构 计算机的发展历史: 1946年,世界上第一台电子计算机ENIAC出现,之后经历了5个发展阶段:冯式结构计算机的组成部分:存储器、运算器、控制器、输入设备和输出设备。强化的概念: 计算机的工作过程:一般是由用户使用各种编程语言把所需要完成的任务以程序的形式提交给计算机,然后翻译成计算机能直接执行的机器语言原创 2017-04-21 18:12:57 · 3883 阅读 · 0 评论 -
如何判断一棵树是否为平衡二叉树
判断的思路很简单,若一棵树是平衡二叉树,它的左右子树都是平衡二叉树,并且左右子树的高度差小于等于1。注意,实现的时候,判断左右子树的平衡性时,可以顺便计算子树高度,不用再另外计算一次,下面是其递归实现:#include <iostream>using namespace std;struct TreeNode { int val; TreeNode *left; Tree原创 2017-07-12 18:14:42 · 1032 阅读 · 0 评论