数据结构概念

1.1什么数据结构

数据结构是各种数据元素的一种集合。

1.2数据结构的作用

1.2.1衡量一个程序是否优秀

通过时间复杂度,空间复杂度衡量

1、1时间复杂度

数据量增长与程序运行时间的比例关系以函数描述称为时间渐进复杂度函数,简称时间复杂度。复杂度关系如下:(递增)

O(c)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n!)<O(2^n)

1.2空间复杂度

数据量增长与程序所占空间的比例关系

1.3数据结构关系

1.3.1逻辑结构

线性结构,非线性结构。

1.3.2存储结构

链式存储,顺序存储,离散存储,索引存储

1.4数据结构种类

顺序表, 链表,栈,队列,数,图

1.4.1链表和顺序表的区别

1.链表空间不连续,顺序表空间连续

2.顺序表存储空间需求大,空间复杂度比链表大

3.链表的插入,删除效率高,时间复杂度比顺序表小

1.4.2链表分类

单项链表, 双向链表,循环链表,内核链表

相关推荐
齐齐大魔王6 小时前
linux-僵死进程处理
linux·运维·服务器
MATLAB代码顾问8 小时前
5大智能算法优化标准测试函数对比(Python实现)
开发语言·python
wuminyu9 小时前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
万粉变现经纪人9 小时前
如何解决 pip install llama-cpp-python 报错 未安装 CMake/Ninja 或 CPU 不支持 AVX 问题
开发语言·python·开源·aigc·pip·ai写作·llama
清风明月一壶酒9 小时前
OpenClaw自动处理Word文档全流程
开发语言·c#·word
其实防守也摸鱼9 小时前
CTF密码学综合教学指南--第五章
开发语言·网络·笔记·python·安全·网络安全·密码学
.小小陈.9 小时前
Linux 线程概念与控制:从底层原理到实战应用
linux·运维·jvm
网络工程小王10 小时前
【LangChain 大模型6大调用指南】调用大模型篇
linux·运维·服务器·人工智能·学习
wangbing112510 小时前
各linux版本的包管理命令
linux·运维·服务器
qq_5710993510 小时前
学习周报四十三
学习