数据结构——概论

基本概念和术语

数据是信息的载体

数据元素是数据的基本单位

数据结构指的是数据之间的相互关系,即数据的组织形式

逻辑结构
  • 数据元素之间的逻辑关系
    • 集合
    • 线性结构
    • 树结构
    • 图结构
物理结构
  • 数据结构在计算机中的表示及存储方式
    • 顺序存储方式
      • 物理位置相邻
    • 链式存储方式
      • 指针指示逻辑关系
    • 索引存储方式
      • 除保存数据元素外,还要建立索引表
    • 散列存储方式
      • 根据关键字计算物理存储位置

算法和算法分析

算法的基本概念

算法必须满足如下5个重要特征
  • 输入:有0或多个输入值
  • 输出:有1或多个输出值
  • 有穷性:一个算法必须在执行又穷步骤之后结束
  • 确定性:算法的每一个步骤必须是有确切含义的
  • 可行性:算法中要做的运算都是相当基本的、能够精确进行的
  • 算法可以没有输入,单必须要有输出,通常输出的是算法的执行结果。实现算法的程序的运行时间是有限的,算法的每个执行步骤不能有歧义,且必须是能够执行的。

算法的评估和复杂性度量

正确性是评判算法的首要指标
  • 时间复杂度
  • 空间复杂度
  • 只有当一个算法需要的额外空间数量依赖于问题规模时,才考虑他的空间复杂度
相关推荐
码少女3 小时前
数据结构——图的基础
数据结构
Severus_black5 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
二本咕咕-机械转码7 小时前
FreeRTOS深入解析(八)IPC机制之FromISR详解
数据结构·单片机·链表
1-1=09 小时前
C# 数据结构和特殊类型
数据结构·c#·.net·.netcore
希和20279 小时前
C语言程序设计题|有序数组插入数字冒泡排序
c语言·数据结构·算法
布莱克60520 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
D e re k ZH1 天前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
zh_xuan1 天前
LeeCode 496. 下一个更大元素I
数据结构·算法·栈·单调栈
白杨尚青1 天前
C++进阶篇(五):红黑树——四条规则、三种插入情况与旋转变色
开发语言·数据结构·c++·stl·红黑树·平衡二叉树
likexuec2 天前
数据结构(2)
数据结构