数据结构--基础知识

一、基本术语

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

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

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

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

二、数据结构

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

集合结构:没有关系

线性结构:一对一

树形结构:一对多

图形结构:多对多

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

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

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

三、数据类型

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

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



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

1.算法的五个基本特性

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

2.算法设计的要求

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

3.算法效率的度量方法

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

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

推导大O阶

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

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

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

得到的结果就是大O阶

5.算法的空间复杂度

五、参考

程杰 大话数据结构

相关推荐
小汉堡编程3 小时前
数据结构——vector数组c++(超详细)
数据结构·c++
雾里看山6 小时前
顺序表VS单链表VS带头双向循环链表
数据结构·链表
好好研究9 小时前
学习栈和队列的插入和删除操作
数据结构·学习
挺菜的11 小时前
【算法刷题记录(简单题)003】统计大写字母个数(java代码实现)
java·数据结构·算法
2401_8582861112 小时前
125.【C语言】数据结构之归并排序递归解法
c语言·开发语言·数据结构·算法·排序算法·归并排序
双叶83613 小时前
(C++)学生管理系统(正式版)(map数组的应用)(string应用)(引用)(文件储存的应用)(C++教学)(C++项目)
c语言·开发语言·数据结构·c++
学不动CV了16 小时前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
算法_小学生18 小时前
LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
数据结构·算法·leetcode
Wo3Shi4七21 小时前
哈希冲突
数据结构·算法·go
V我五十买鸡腿21 小时前
顺序栈和链式栈
c语言·数据结构·笔记·算法