数据结构
文章平均质量分 84
数据结构相关学习
长路 ㅤ
24应届毕业,目前入职的公司toB主营业务为数据中台,岗位:Java后端开发一枚,主要学习方向为Java后端,大数据,算法。 欢迎和我交流
展开
-
路由选择算法(Dijkstra最短路径) Java编码实现
介绍:最短路径问题是[图论](https://baike.so.com/doc/6728150-6942429.html)研究中的一个经典算法问题, 旨在寻找图(由结点和路径组成的)中两结点之间的最短路径。 用于解决最短路径问题的算法被称做"最短路径算法", 有时被简称作"路径算法"。 最常用的路径算法有:+ Dijkstra算法+ SPFA算法+ Bellman-Ford算法+ Floyd算法、Floyd-Warshall算法+ Johnson算法+ A*算法Dijkstra算法是经原创 2022-10-31 11:44:13 · 1993 阅读 · 13 评论 -
哈夫曼树原理及Java编码实现
**哈夫曼编码有两个特点**:1. 带权路径长度WPL最短且唯一;【核心减少编码的操作】2. 编码互不为前缀(一个编码不是另一个编码的开头)【可进行还原用途】。**应用场景**:压缩文件。**公式**:路径长度:WPL = l1× w1+l2× w2 +…+ ln × wn,w表示权值,n表示叶子节点个数。> 哈夫曼编码是如何进行应用的呢,有什么具体的示例呢?哈夫曼树是一颗二叉树,其是根据元素的权重来进行构成的一棵树,在树上的每个节点val都使用0或1来进行表示。+ 这个权重指的原创 2022-10-29 22:29:13 · 2093 阅读 · 3 评论 -
栈实际应用—实现综合计算器(中缀转后缀表达式)
在现实生活中我们计算的数学公式表达式就是**中缀表达式**,例如:(1 + 5) * 4 + 3 * 5**后缀表达式**是什么呢,就是将中缀表达式转换成计算机能够看得懂的式子(后缀表达式),接着让计算机来根据这个后缀表达式来进行快速计算。```中缀表达式:(1 + 5) * 4 + 3 * 5转为后缀表达式:1, 5, +, 4, *, 3, 5, *, +怎么计算后缀表达式呢?可借助于栈这个数据结构来实现快速计算,主要逻辑是遍历一遍,遇到数字就入栈,遇到符号就出栈两个,进行运算后入栈即可原创 2022-10-29 16:24:39 · 600 阅读 · 3 评论 -
堆 最小堆 最大堆 堆排序(小到大,大到小)
导航1.了解什么是堆2.如何创建最小堆,最大堆3.新增值在堆中如何进行4.完整的堆排序,升序和降序(两种方式)————————————————————————————————————————1.了解什么是堆树型结构与图型结构的差别:看是否有回路,无回路的是树型,有回路的是图型满二叉树可以用数组进行存储,层次遍历顺序存储设置其中父节点为k,儿子节点(左结点,右节点) 其中左...原创 2020-04-04 00:02:45 · 1477 阅读 · 0 评论 -
简单链表插入与遍历
导航1.定义一个整型指针变量2.插入n个数的链表,并且进行遍历————————————————————————————————————————1.定义一个整型指针变量#include <cstdio>#include <cstdlib>int main(){ int *p; p = (int *)malloc(sizeof(int)); //...原创 2020-03-21 14:49:06 · 522 阅读 · 0 评论 -
树——哈夫曼树基本概念 实现方式 及代码
1.基本概念,哈夫曼注意点,采用二叉树+贪心2.采用的方式,自底向上3.实现代码,及结构体成员,带权路径长度,对于哈夫曼编码长度求解附:完整代码原创 2020-02-15 15:50:21 · 751 阅读 · 0 评论 -
数据结构——树 先中后序遍历 层次遍历 如何看中序后序、后序中序的图
1.创建树,前中后序遍历,完整代码2.如何通过前序中序或者后序中序给出的顺序,画出图原创 2020-02-14 17:10:49 · 824 阅读 · 0 评论 -
数据结构——树 基本概念 顺序存储 链式存储 树与二叉树之间转换
存储方式树之间的转换树的顺序存储树的链式存储结合数组这里看下二叉树概念:对于二叉树的顺序存储对于二叉树的链式存储原创 2020-02-14 14:42:12 · 1061 阅读 · 0 评论