数据结构--基础知识

一、基本术语

数据元素:组成数据的、有一定意义的基本单位

数据项:一个数据元素可以由若干个数据项组成。是数据不可分割的最小单位

数据对象:性质相同的数据元素的集合。是数据的子集

数据结构:不同数据元素之间的关系

二、数据结构

1.逻辑结构:数据对象中数据元素之间的相互关系

集合结构:没有关系

线性结构:一对一

树形结构:一对多

图形结构:多对多

2.物理结构(存储结构):数据的逻辑结构在计算机中的存储形式

顺序存储结构:存储关系和逻辑关系一致

链式存储结构:存储关系和逻辑关系不一致

三、数据类型

原子类型:不可再分解的基本类型

结构类型:由若干个类型组合而成,可以再分解



四、算法:解决特定问题求解步骤的描述

1.算法的五个基本特性

输入、输出、有穷性、确定性、可行性

2.算法设计的要求

正确性、可读性、健壮性、时间效率高和存储量低

3.算法效率的度量方法

事后统计法、事前分析估算方法

4.算法的时间复杂度------大O记法

推导大O阶

1.用常数1取代运行时间中的所有加法常数

2.在修改后的运行次数函数中,只保留最高阶项

3.如果最高阶项存在且其系数不是1,则去除与这个项相乘的系数

得到的结果就是大O阶

5.算法的空间复杂度

五、参考

程杰 大话数据结构

相关推荐
旖旎夜光20 分钟前
LeetCode 30:串联所有单词的子串(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
白狐_79826 分钟前
408 数据结构|完全二叉树两道典型题:第 6 层叶结点数与叶结点总数
数据结构·算法
郝学胜_神的一滴2 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·算法
GeekZHR2 小时前
C语言指针2:数组名、二级指针、指针数组,一次把“指针和数组“讲透
c语言·数据结构·算法·指针
烬羽3 小时前
求第 K 大,为什么反而要用最小堆?
javascript·数据结构·算法
郝学胜-神的一滴3 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·c++·python·程序人生·算法·软件开发
hold?fish:palm15 小时前
24 回文链表
数据结构·c++·链表
qeen8719 小时前
【数据结构】自平衡二叉搜索树各种旋转算法原理解析及AVL树的C++实现
数据结构·c++·算法
冻柠檬飞冰走茶20 小时前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
Nil20821 小时前
leetcode 189轮转数组
数据结构·算法·leetcode