![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 90
数据结构与算法
把csdn当日记本的菜鸡
正在学习的大学生
展开
-
数据结构基础-栈
计算机科学中,stack是一种线性的数据结构,只能在其一端添加数据和移除数据。习惯来说,这一端称之为栈顶,另一端不能操作数据的称之为栈底,就如同生活中的一摞书先提供一个栈接口/*** 向栈顶压入元素* @param value 待压入值* @return 压入成功返回 true, 否则返回 false/*** 从栈顶弹出元素* @return 栈非空返回栈顶元素, 栈为空返回 null*/ E pop();/*** 返回栈顶元素, 不弹出。原创 2023-06-06 15:53:29 · 466 阅读 · 0 评论 -
数据结构基础-堆
例2 - 完全二叉树(Complete Binary Tree)特点:最后一层可能未填满,靠左对齐。例1 - 满二叉树(Full Binary Tree)特点:每一层都是填满的。计算机科学中,堆是一种基于树的数据结构,通常用。完全二叉树可以使用数组来表示。原创 2023-06-06 16:34:50 · 433 阅读 · 0 评论 -
数据结构基础-队列
计算机科学中,queue 是以顺序的方式维护的一组数据集合,在一端添加数据,从另一端移除数据。习惯来说,添加的一端称为尾,移除的一端称为头,就如同生活中的排队买商品queue先定义一个简化的队列接口/*** 向队列尾插入值* @param value 待插入值* @return 插入成功返回 true, 插入失败返回 false/*** 从对列头获取值, 并移除* @return 如果队列非空返回对头值, 否则返回 null/*** 从对列头获取值, 不移除。原创 2023-06-06 15:21:17 · 417 阅读 · 0 评论 -
数据结构基础-数组
定义在计算机科学中,数组是由一组元素(值或变量)组成的数据结构,每个元素有至少一个索引或键来标识arrayelementsorkey因为数组内的元素是连续存储知道了数组的数据起始地址 BaseAddress,就可以由公式 BaseAddress + i * size 计算出索引 i 元素的地址i 即索引,在 Java、C 等语言都是从 0 开始size 是每个元素占用字节,例如 int 占 4,double 占 8小测试已知 array 的数据。原创 2023-05-30 16:18:17 · 565 阅读 · 0 评论 -
数据结构基础-链表
定义在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素存储上并不连续可以分类为[^5]单向链表,每个元素只知道其下一个元素是谁[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vvIbRB6y-1685434725506)(.\imgs\image-20221110083407176.png)]双向链表,每个元素知道其上一个元素和下一个元素。原创 2023-05-30 16:19:23 · 789 阅读 · 0 评论 -
数据结构-二分查找
定义在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算algorithm不正式的说,算法就是任何定义优良的计算过程:接收一些值作为输入,在有限的时间内,产生一些值作为输出。定义在计算机科学领域,数据结构是一种数据组织、管理和存储格式,通常被选择用来高效访问数据数据结构是一种存储和组织数据的方式,旨在便于访问和修改接下来我们通过对一个非常著名的二分查找算法的讲解来认识一下算法。原创 2023-05-30 16:15:47 · 634 阅读 · 0 评论 -
数据结构-递归
定义计算机科学中,递归是一种解决计算问题的方法,其中解决方案取决于同一类问题的更小子集recursionreturn;自己调用自己,如果说每个函数对应着一种解决方案,自己调用自己意味着解决方案是一样的(有规律的)每次调用,函数处理的数据会较上次缩减(子集),而且最后会缩减至无需继续递归内层函数调用(子集处理)完成,外层函数才能算调用完成原理假设链表中有 3 个节点,value 分别为 1,2,3,以上代码的执行流程就类似于下面的伪码return;思路确定能否使用递归求解。原创 2023-05-31 08:55:17 · 480 阅读 · 0 评论