数据结构与算法
文章平均质量分 88
阿杰来学编程
Hello,world!
展开
-
二叉搜索树,Map,Set,LeetCode刷题
二叉搜索树是一种特殊类型的有序树,具有左右子树元素分布的特点,操作包括插入、查找和删除,同时其效率受到树结构的影响。在Java中可以通过一定的代码实现这些操作。此外,文中还介绍了基于红黑树的集合类TreeMap和TreeSet,以及Map接口的相关常用方法,如添加、删除和获取键值对等基础操作,这为理解数据结构提供了良好的基础。原创 2024-08-01 15:57:50 · 1011 阅读 · 0 评论 -
队列(Queue),循环队列,双端队列(Deque)and LeetCode刷题
本文介绍了队列(Queue)、循环队列、双端队列(Deque)以及在LeetCode刷题中的应用。重点包括队列的概念、队列的使用方法、队列的模拟实现(链式结构和顺序结构)、循环队列的实现原理、双端队列的特点以及LeetCode刷题中用队列实现栈和用栈实现队列的方法。原创 2024-07-15 22:39:26 · 1047 阅读 · 0 评论 -
栈(Stack)and leetcode刷题
如果是加减乘除符号,取出一个栈顶元素作为该符号的右操作数,再取出一个栈顶元素做为左操作数,计算得到的结果放入栈中,如此下去,最后栈中只会剩一个元素,这就是最终的结果。当需要取出栈中的元素中,需要依次取出最上面的元素,不能直接取出下面的元素。所以,该栈取出元素的顺序只能为:56,45,34,23,12。假如例子中a,b,c,d,e,f,g分别取1,2,3,4,5,6,7。计算机的工作原理也是这样的,将你输入的中缀表达式转化为后缀表达式,再按照后缀表达式的运算规则进行运算,得到结果!栈的删除操作叫做出栈。原创 2024-07-13 23:04:16 · 761 阅读 · 0 评论 -
无头双向非循环链表实现
无头双向非循环链表大致与无头单向非循环差不多,只不过每个节点多了个prev引用,可以从后一个节点找到前一个节点。并且除了头节点head,双链表还多了个尾节点tail要模拟实现无头双向非循环链表,同样需要创建三个文件:IList.java接口,MyLinkedList.java文件,test.java测试文件,下面仅展示IList.java接口和MyLinkedList.java文件。原创 2024-07-12 15:28:02 · 458 阅读 · 0 评论 -
无头单向非循环链表实现 and leetcode刷题
介绍单链表的模拟实现和leetcode刷题笔记原创 2024-07-11 21:10:32 · 789 阅读 · 0 评论