
数据结构学习
文章平均质量分 75
头发没了还会再长
你不需要很厉害才开始,但你要开始才能很厉害
展开
-
数据结构-排序
七大排序算法代码实现+排序过程模拟图解+复杂度分析,数据结构排序学习总结原创 2021-11-20 11:52:51 · 1057 阅读 · 2 评论 -
数据结构——图
图的存储,图的遍历,最小生成树,最短路径,拓扑排序,算法描述加图解加算法实现,希望能帮到在学数据结构的你呀~原创 2021-11-09 22:36:05 · 1679 阅读 · 2 评论 -
LeetCode.200.岛屿数量(DFS&&BFS)
题目描述:来自LeetCode方法一:深度优先搜索可以将矩阵看成一个图,进行图的深度优先搜索,每两个相邻的‘1’可以看成是有一条边,在学数据结构的时候,我们知道,连通图进行深度优先遍历的时候,只会搜索一次,非联通图有几个联通分支就会遍历几次,巧了!这个题的意思其实就是让求联通分支的个数啊!!所以对遍历二维矩阵,进行深度优先遍历,每dfs一次,就记录将记录岛屿数量的变量+1,遍历的过程,要将遍历过的数据进行标记,在这里,将‘1’修改为‘2’即可。dfs结束的条件就是判断数组是否越界,或者该位.原创 2021-11-06 22:58:48 · 287 阅读 · 0 评论 -
哈夫曼编码译码器
哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫做Huffman编码(有时也称为霍夫曼编码)。 ...原创 2021-10-25 21:13:21 · 3115 阅读 · 9 评论 -
判断用单链表存储的字符串是不是回文串
1.用单链表存储用到的数据结构,线性表,但结点的数据域的类型是字符typedef struct CNode{ char ch; struct CNode *next;}CNode,*LinkList;2.回文串:是一个正读和反读都一样的字符串。思路:回文串是以中间为对称轴两边对称的一种特殊字符串,故将字符串分为两半,左边一半从右往左遍历,右边一半从左往右遍历,如果对应的字符都相等则对称,但字符串的长度是奇数函数偶数也要判断一下,因为如果是奇数的话,中间一个数就是对称轴,中...原创 2021-10-24 11:11:38 · 865 阅读 · 0 评论 -
链表的合并
1.两个升序链表合并为一个升序链表利用原链表空间,将两个升序的链表合并成一个升序链表,时间复杂度O(N),空间复杂度O(1)用两个指针p1,p2分别遍历L1和L2,用一个尾指针永远指向新链表的最后一个节点 比较两个指针指向的节点的大小,将数据域较小的节点用尾插法接在新链表后面 尾指针后移,p1或者p2后移 当有一个为空时另一个还会有剩余节点没有加入新链表,将剩下的直接接在新链表后面算法实现c++:LinkList mergeTwoLink(LinkList L1,LinkList.原创 2021-09-30 01:14:06 · 10811 阅读 · 6 评论 -
树的四种遍历方式(递归与非递归实现c++&java)
树的遍历:1.前序遍历2.中序遍历3.后序遍历4.层序遍历1.前序遍历 前序遍历即DLR,先访问根节点再访问左子树,再访问右子树,因此需要遍历和回溯递归:递归遍历左子树,遍历的同时,用list保存节点的值用s保存遍历过的节点,走到底之后就回溯,访问上一个节点的有节点,重复以上过程,直到访问到最后一个节点(左右都为空)java:class Solution { List<Integer> list=new ArrayList<Int...原创 2021-09-22 20:44:10 · 779 阅读 · 0 评论