数据结构
byg_qlh
技术交流,资源分享,欢迎关注
展开
-
消息队列面试题:如何写一个消息队列
面试官:如果让你写一个消息队列,该如何进行架构设计?请说明一下设计思路。原创 2024-06-14 08:38:56 · 149 阅读 · 0 评论 -
二叉树的构建——Java实现(详细注释 + 原理分析)
1.后序遍历中最后一个元素为树的根节点,找到根节点的数值,并得到根节点在中序遍历中的位置,然后用来进行递归构建二叉树即可。2.层序遍历用到了bfs的深度优先搜索遍历,我们存放在list容器中,实现层序遍历的输出。原创 2024-05-25 07:03:41 · 320 阅读 · 0 评论 -
快速排序详解——多种实现方式
任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。原创 2024-05-25 07:00:38 · 503 阅读 · 0 评论 -
C++实现各种队列(详解)——普通队列,双端队列,优先队列
【代码】C++实现各种队列(详解)——普通队列,双端队列,优先队列。原创 2024-05-22 17:17:45 · 337 阅读 · 0 评论 -
C语言的文件操作详解(字符读写,字符串读写,快数据读写,格式化读写)
fputc。原创 2024-05-18 08:10:31 · 1354 阅读 · 0 评论 -
合并二叉树
1、对于树的递归,可以先判断特殊情况,就是说为空的情况,二叉树为空的情况一般就是递归出口。2、把递归出口弄清楚之后,再处理细节问题。原创 2024-05-15 16:18:14 · 117 阅读 · 0 评论 -
Hashmap详细解析,原理及使用方法分析
HashMap使用第0个桶存放键为null的键值对。原创 2024-05-14 09:01:35 · 464 阅读 · 1 评论 -
在排序数组中查找数字
2、在最后找到目标值的情况下,在那个区间里面进行逐个遍历,大大降低了时间复杂度。问题:在已经排好序的数组中查找指定数字。1、使用到了二分查找。原创 2024-04-30 11:19:20 · 117 阅读 · 0 评论 -
用两个栈实现队列
4、所以出栈的时候讲a栈所有内容弹出到b栈,弹出b栈的栈顶就是要出队的元素。5、出队完成之后,b栈的内容全部在导入a栈中。1、使用两个栈(栈a,栈b)模拟一个队列。2、入队时候直接放在a栈的栈顶。3、出队的内容,在a栈的栈底。原创 2024-04-30 11:14:53 · 176 阅读 · 0 评论 -
复杂链表的复制
【代码】复杂链表的复制。原创 2024-04-29 09:43:42 · 160 阅读 · 0 评论 -
C++实现链栈
C++实现链栈创建链栈从头至尾打印链表入栈弹栈得到栈顶节点数据整体代码:#include<iostream>using namespace std;struct Node{//节点类与链表的节点类一样 int data; Node *next;};class LStack{//链栈不带头结点 private: Node *point; i...原创 2020-04-02 21:43:52 · 358 阅读 · 0 评论 -
C++实现顺序栈
C++实现顺序栈1.初始化顺序栈2.压栈3.弹栈4.取得栈顶元素5.从栈底打印6.从栈顶打印整体代码:#include<iostream>using namespace std;struct SqStack{ int data[10];//存放栈的静态数组 int top;//栈顶指针 };bool initStack(SqStack &s...原创 2020-04-02 21:41:22 · 166 阅读 · 0 评论 -
C++实现单链表
C++实现单链表1. 尾插法创建链表2. 头插法创建链表3. 从头至尾打印链表4. 查找指定位置数据5. 查找指定数据是否存在6. 在指定位置插入指定值7. 删除链表指定位置的节点8. 获得链表当前长度整体代码:```cpp#include<iostream>using namespace std;struct Node{//节点类 int data...原创 2020-03-31 21:49:29 · 271 阅读 · 0 评论 -
C++实现动态数组
C++实现动态数组1. 数组初始化2. 给数组赋值3. 打印数组4. 增加数组长度5. 数组最后一个值替代最小值6. 逆置数组元素7. 逆置数组中指定位置范围的元素8. 删除数组中值为x的所有元素9. 删除所有介于s和t之间(包含s与t)的元素10. 有序表中删除相同元素11. 合并两个有序数组,合并结果存入第三个数组12. 将数组中的前m位与后n为的位置互换整体代码如下...原创 2020-03-31 21:43:57 · 5223 阅读 · 0 评论 -
数据库系统原理知识点小结
数据库系统原理一、引言1.数据模型:数据模型是数据库的基础。规定的模式统一描述方式的模型2.数据:事实或客观的结果,对客观事务的逻辑归纳,以元组的形式存储于数据库中的信息3.数据库:一系列互相关联的数据的集合4.数据库系统:由一个互相关联的数据的集合和一组用以访问这些数据的程序组成5.视图:某一表现形式下表现出来的数据库中的数据,不一定真实存储于计算机中,但是通过查询可见的视图,提供了...原创 2020-01-14 16:57:14 · 1670 阅读 · 0 评论 -
java简易双向链表的实现(添加和双向输出操作)
节点类与单链表的区别主要在于添加节点时,需要指定新添加节点的前驱class Node{//节点类 private String name; private Node pervious; protected Node next; public Node(){} public Node(String name){this.setName(name);} public Node(St...原创 2019-04-09 19:59:33 · 954 阅读 · 0 评论 -
单链表基本操作合集及详细注释(java语言描述1.添加节点 2.返回节点 3.查找节点 4.删除节点 5.改变节点 6.删除类型节点 7.指定位插入 8.倒数第K节点 9.链表长度10.链表输出)
单链表操作合集及详细注释实现操作(以下是Link类中的方法序列):1.添加节点2.返回指定节点3.查找是否存在指定节点4.删除指定节点5.改变指定节点6.删除所有指定类型节点7.在指定节点后插入新节点8.得到倒数第k个节点9.得到链表长度10.输出链表代码段:package 链表;class Person{//////////////////////////////...原创 2019-03-23 17:40:20 · 535 阅读 · 0 评论