![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
五
mr.chenyuelin
纯属为个人笔记
展开
-
数据结构- 栈和队列的实现
文章目录栈队列栈采用数组实现#include<iostream>typedef int DataType;using namespace std;typedef struct Stack{ DataType* _array; int _top;// 表示有效元素个数 表示栈顶位置 int _capcity;//栈容量}Stack;void StackInit(Stack* s){ s->_array = (DataType*)malloc(sizeof(Dat原创 2021-07-20 21:40:20 · 195 阅读 · 0 评论 -
数据结构-二叉搜索树插入和删除
转载:https://blog.csdn.net/xiexiexiexieqing/article/details/117468490插入:void in(struct TREE*tree,struct DATA data){ struct node*pmove=tree->root; //pmove先等于搜索树的根节点 pmove 在前面探路 struct node*pnode=NULL; //pnode 紧跟在 pmove 的后面转载 2021-07-17 18:14:28 · 188 阅读 · 0 评论 -
力扣142. 环形链表 II
题目:本题使用快慢指针,第一步:只要快慢指针能相遇就有环,相遇点在环中第二步:当从相遇点和头结点都有一个指针以相同速度出发,第二次相遇就是环形入口,为什么?设头结点到环形入口点距离为a,入口点到相遇点距离为b慢指针走的路程为c=a+b,而快指针速度是满指针的两倍,2c=2a+2b,轨迹为A->B>C>D>B>C,其中BC走两次为2b,AB为a,所以从C点到B点这段距离为a,也就是头结点A到环形入口点距离B代码:/** * Definition for sin原创 2021-07-07 12:55:45 · 82 阅读 · 0 评论 -
数据结构的1.哈希表实现
哈希表哈希表hash table(key,value) 的做法其实很简单,就是把Key通过一个固定的算法函数既所谓的哈希函数转换成一个整型数字,然后就将该数字对数组长度进行取余,取余结果就当作数组的下标,将value存储在以该数字为下标的数组空间里。而当使用哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value,如此一来,就可以充分利用到数组的定位性能进行数据定位。实现:#include <stdlib.h>#include <io原创 2021-07-05 23:05:37 · 122 阅读 · 1 评论