数据结构概述

一、概述

是计算机的一门基础学科
研究数据在计算机中进行组织和存储,使我们可以高效的获取数据和修改数据
分类
线性结构:数组、队列、栈、链表、哈希表...
树型结构:二叉树、二分搜索树、AVL树、红黑树、堆、Tire、线段树、并查集...
图结构:邻接矩阵、邻接表

二、基本概念

数据(Data):能输入并被计算机所处理的符号
数据元素(Data Element):是数据的基本单位
数据项(Data Item):是组成数据元素的有独立含义的,不可分割的最小单位
数据对象(Data Object):是性质相同的数据元素的集合,是数据的一个子集
数据结构+算法=程序
数据结构(Data Structure):是相互之间存在一种或多种特定关系的数据元素的集合
数据结构包括逻辑结构和存储结构两个层次
1.逻辑结构有两个要素
数据元素
关系:非线性结构(集合,树,图或网状(多对多)),线性结构(线性表、栈和队列、字符串、数组、广义表)
2.存储结构又称物理结构
顺序存储
链式存储
算法:一类问题所使用的解决方案,在不同方案中,时间复杂度和空间复杂度不同.好的算法就是在时间复杂度和空间复杂度找到平衡.

三、后期开发环境

IDEA,JDK8+

四、学习网站

labuladong(学习)

牛客网 (nowcoder.com)(刷题)

力扣 (LeetCode)(刷题)

JavaAPI(查询)

五、时间复杂度O(n)和空间复杂度

两者是衡量算法优劣的标准
时间复杂度:取最大的指数幂;忽略常数项;描述n趋于无穷的情况
空间复杂度:对算法运行过程中临时占用的空间大小
相关推荐
学不动CV了1 分钟前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
算法_小学生2 小时前
LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
数据结构·算法·leetcode
Wo3Shi4七5 小时前
哈希冲突
数据结构·算法·go
V我五十买鸡腿6 小时前
顺序栈和链式栈
c语言·数据结构·笔记·算法
七灵微7 小时前
数据结构实验习题
数据结构
杰克尼18 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
xiaolang_8616_wjl18 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
hqxstudying19 小时前
Java创建型模式---单例模式
java·数据结构·设计模式·代码规范
sun00770019 小时前
数据结构——栈的讲解(超详细)
数据结构
ゞ 正在缓冲99%…1 天前
leetcode918.环形子数组的最大和
数据结构·算法·leetcode·动态规划