数据结构与算法破冰
数据结构与算法破冰
数据结构与算法的关系
- 数据结构是专门研究组织数据方式的学科,有了编程语言就有了数据结构。
- 程序=数据+算法
- 数据结构是算法的基础
实际编程中遇到的问题
-
字符串替换问题
- 需要使用单链表数据结构
-
五子棋
- 二维数组、稀疏数组
-
约瑟夫问题(丢手帕问题)
- 单向环形链表
-
修路问题==>最小生成树(加权值)+普利姆算法
-
最短路径问题==>图+弗洛伊德算法
-
汉诺塔==>分支算法
-
八皇后问题==>回溯法
线性结构和非线性结构
线性结构
- 线性结构作为最常用的数据结构,特点是数据元素之间存在一对一的线性关系。
- 线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。
- 顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的。
- 链式存储的线性表称为链表,存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息。
- 常见的线性结构:数组、队列、链表、栈
非线性结构
非线性结构包括:二维数组、多维数组、广义表、数结构、图结构
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix