导图社区 数据结构与算法 绪论思维导图
数据结构与算法 绪论学习笔记,适用于预习、复习的参照。适用于考前复习,也可以综合其他资料使用。
数据结构与算法 线性表学习笔记,适用于预习、复习的参照。适用于考前复习,也可以综合其他资料使用。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据结构与算法
算法
定义:算法是对特定问题求解步骤的一种描述,它是指令的 有限序列,其中每一条指令表示一个或多个操作
五个重要特性
有穷性
一个算法包含有限个操作步骤。一个算法在执行若干个步骤之后应该能够结束,而且每一步骤都在有限时间内完成
确定性
算法中的每一步骤必须有确切的含义,不能产生二义性
可行性
算法中的每一步骤都应该是能有效地执行,并得到确定的结果
输入
一个算法可以有零个或多个输入
输出
一个算法有一个或多个输出。没有输出的算法是毫无意义的
(算法设计的好坏关平程序执行效率)
设计的要求
正确性
指算法达到了测试要求
可读性
指人对算法的理解,可读性高便于交流,有利于算法的调试和修改
健壮性
对于非法输入的数据,算法能给出相应的响应,阻止不可预料的后果的产生
效率与低存储量需求
效率指算法的执行时间,执行时间短的算法效率高。存储量需求是指算法执行过程中所需的最大存储空间,存储量需求越小的算法效率越高。
算法的分析
算法效率的度量
(算法执行时间是其对应的程序在计算机上 运行所消耗的时间)
影响要素
算法本身选用的策略
书写程序的语言
编译产生的代码质量
机器执行指令的速度
问题的规模
(算法本身选用的策略是算法好坏的根本,书写程序的语言和编译产生的代码质量要看具体的软件支持)
算法的时间复杂度
算法的运行时间,可以用算法中语句的执行次数来度量一个算法的效率
算法的空间复杂度
算法在运行过程中临时占用存储空间大小的度量
数据结构
定义:数据结构是指相互之间存在着一种或者多种关系的 数据元素的集合和该集合中数据元素之间的关系组成
分为
逻辑数据结构
存储(物理)数据结构
数据
原材料
数据元素
基本单位
数据元素之间不是独立的,而是存在特定的关系的,这些关系为结构
数据项
最小单位
数据对象
子集
数据对象中数据元素之间的关系为数据结构
数据的组织形式即集合
逻辑结构
定义:逻辑结构是指数据对象中数据元素之间的相互关系
线性结构
非线性结构(集合、树、网)
类型
元素是一对一的关系
(典型:顺序表、链表、栈、队列)
非线性结构
元素是一对多或多对多的关系
(典型:树、图)
细分
集合结构
集合结构里面的元素关系是孤立的,仅同属于相同的集
数据元素之间存在着一对一的线性关系。除第一个和最后一个元素外,每个元素只有一个前驱和一个后继数据元素
树结构
数据元素之间存在这一对多的层次关系。除根结点外,每个数据元素只有一个前驱数据元素,可有0个或若于个后继数据元素。
图结构
数据元素之间存在着多对多的任意关系。每个元素可有0个或若干个前驱数据元素和0个或若干个后继数据元素
存储(物理)结构
定义:物理结构是指数据的逻辑结构在计算机中的存储形式
顺序存储结构
链式存储结构
把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
是把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的
数据类型
按照数据值的不同进行划分的可操作性