数据结构番外篇

◆广义:数据结构是指数据的存储结构

           **数据结构服务于算法;
           算法依赖于数据结构;**

◆合作学习,效果更佳
◆参考自己的语言写
◆针对数据结构选择合适的算法是场景应用的重心
◆存储结构
顺序
链式
索引
散列
◆逻辑结构
a.线性结构

队列

数组
链表
b.非线性结构


◆数据算法




排序
◆算法的复杂度分析
时间复杂度----定性描述了该算法的运行时间
最好 最坏 平均 均摊
空间复杂度----对一个算法在运行过程中临时占用存储空间大小的量度
大写O
常见的空间复杂度就是O(1),O(n),O(n2)
最好时间复杂度是指在理想状态下,最小代价执行就可以获取最优解的过程
最坏时间复杂度是需要执行完全部代码,且花费最大的代价获取最后的结果
均摊时间复杂度一般就是最好的时间复杂度
◆数组的定义
连续的同一类型的数据,使用连续的内存空间存储

在这里插入图片描述

内存地址:数据在内存中占用的地址
下标:数据在数组中的位置
值内存地址=数组开始地址+下标类型占用内存长度
int类型占用内存长度为4 开始地址为100
100+4
4=116
数组的下标查找时间复杂度为O(1)
数值 O(n)
插入和删除的时间复杂度都为O(n)
若插入和删除的时间复杂度为最后一个,则为O(1)
◆散列表(hash)
散列表也叫哈希表,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表

在这里插入图片描述在这里插入图片描述

发布了26 篇原创文章 · 获赞 144 · 访问量 6526

猜你喜欢

转载自blog.csdn.net/weixin_45488131/article/details/103393016
今日推荐