
数据结构与算法笔记
文章平均质量分 66
个人学习笔记
秀发嚯嚯没
这个作者很懒,什么都没留下…
展开
-
集合和映射
概述集合是存储不重读元素的容器。集合分为两大类collection和Map。Collection又分为list(ArrayList,LInkedList)和set(HashSet,TreeSet)两大类。linkedSet 是由 链表 实现的,有序TreeSet是由 二分搜索树 实现的,有序 ,自然排序HashSet是由 哈希表 实现的,无序映射是存储数据对的数据结构。(键值对,Key,Value,K_V对),根据key寻找value。Map就是一种映射,它有由链表实现的Link原创 2022-04-16 22:41:08 · 796 阅读 · 0 评论 -
数据结构----树
树的定义树(Tree)是n(n>=0)个结点的有限集,n = 0时称为空树。在任意一棵非空树中:(1)有且只有一个特定的结点,称为根(root)(2)当n >1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2…Tm,其中一个集合本身又是一棵树,称为根的子树(SubTree)树结点的分类结点拥有的子树个数称为结点的度(Degree),度为0的结点为叶子节点(leaf),不为0的结点称为分支节点。树的度是树内结点度的最大值。2.树的层次(Level)也可以叫深度或高度。他原创 2022-04-16 01:13:25 · 1290 阅读 · 0 评论 -
排序算法整理
各个排序算法的思想和具体实现步骤直接给在代码注释中,结合代码 + 画图工具 模拟排序过程 可快速理解掌握1.选择排序import java.util.Arrays;//选择排序/** 时间复杂度O(n^2)* 空间复杂度 O(1)* 稳定性:不稳定* 从最左边开始第一个元素与其后每一个元素进行比较* 若当前元素比后面要比较的元素大,则交换,否则继续循环* */public class SelectSort { public static void main(String[]原创 2022-04-11 01:40:59 · 762 阅读 · 0 评论 -
数据结构----队列
队列定义1.队列(queue)就是只允许在一端进行插入,另一端进行删除的线性表。2.不同于栈的是,队列是先进先出的线性表,允许插入的一端叫队尾(rear),删除的一端叫队头(front)。3.队列也是一种特殊的线性表,其实现方式和线性表完全相同。4.由于入队(offer)是在队尾添加,所以时间复杂度为O(1),而出队(poll)是从队首删除,需要移动整个队列,时间复杂度为O(n).循环队列...原创 2022-03-24 01:09:33 · 915 阅读 · 0 评论 -
数据结构----栈
栈与队列栈1.栈(stack)是仅限在表尾进行插入和删除的线性表。也被称为先进后出的线性表。2.栈的插入操作叫进栈也叫入栈(push);删除操作叫出栈或者弹栈(pop)。举个例子:①1,2,3依次进栈,然后依次弹栈得到的新串为3,2,1②1进,1出,2进,2出,3进,3出,新串为1,2,3③1进,2进,2出,3进,3出,1出,新串为2,3,13.由于栈的进出操作都没有任何循环语句,都是在栈顶进行操作,所有其时间复杂度为O(1)。...原创 2022-03-18 22:55:31 · 309 阅读 · 0 评论 -
数据结构---线性表
线性表一、定义List:0个或多个数据元素的有限序列。首先线性表中的数据元素是有顺序的,除了收尾两个元以外,每一个数据元素都有各自的唯一一个前驱和后继。如图:若将线性表表示成a1~an的一个序列,ai的直接前驱元素为ai-1,直接后继元素为ai+1;a1有且只有一个后继玄素为a2,an有且只有一个前驱元素为an-1。整个序列的长度n(n>0)称为线性表的长度,当n=0 时,为空表。...原创 2022-03-10 11:08:06 · 333 阅读 · 0 评论