软设之路-4.1(数据结构及算法)

本文概述了数据结构的基础概念,包括线性结构如数组、链表、栈和队列,以及非线性结构如树和图的基本操作。详细讨论了各种数据结构的特点及应用场景,并介绍了典型算法如KMP算法和图的遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总览图

线性结构、数组、矩阵

线性表

定义:唯一的第一个和最后一个
存储分为顺序存储和链式存储:顺序存储的优点是随机存取,缺点是插入和删除需要移动大量的元素,空间需要事先分配。
链式存储又分为单链表和双链表,加入连接指针的概念。

栈和队列

栈,先进后出(last in first out)的特性,栈也分顺序存储和链式存储
常见的栈操作,1。创建,2。判断空,3。入栈,4。出栈,5。读取栈顶元素
队列,先进先出(first in first out)的特性,队列分顺序存储和链式存储
常见的队列操作:1。创建,2。判断空,3,入队,4。出队,5。读取队头元素

模式匹配KMP算法,关键设置next函数

二叉树遍历

先序,中序,后序是意思是访问根字节点的顺序,即先序先访问根节点,中序是先访问左再访问根最后是右,后序是左右中的顺序。

图的存储由邻接矩阵和邻接链表
邻接矩阵,有向图是非对称的, 而无向图则是对称的
带权的图
广度优先和深度优先

本文最后修改时间:2017年11月5日20:09:23(1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值