数据结构
文章平均质量分 73
数据结构与算法
weihubeats
开源框架Tlog贡献者,技术大多都源于生产实践,乐于分享.公众号:小奏技术
展开
-
数据结构之稀疏数组
文章目录背景稀疏数组编码实现二维数组转稀疏数组稀疏数组转二维数组这里是weihubeats,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党背景编写五子棋程序保存棋盘我们如何保存整个棋盘呢?最简单也是最容易想到的就是用一个二维数组来表示0:表示没有棋子1:表示黑棋2:表示白旗数组大小为整个棋盘的x、y值的最大值 int[x][y]可以看到通常我们的棋子并不总是存满整个棋盘的,但是我们总是需要创建 一个x*y的数组,非常浪费空间。如何优化呢稀疏数组先来看看原创 2022-03-16 13:36:40 · 1784 阅读 · 0 评论 -
我画了近百张图来理解红黑树
我画了近百张图来理解红黑树之前在公司组内分享了红黑树的工作原理,今天把它整理下发出来,希望能对大家有所帮助,对自己也算是一个知识点的总结。这篇文章算是我写博客写公众号以来画图最多的一篇文章了,没有之一,我希望尽可能多地用图片来形象地描述红黑树的各种操作的前后变换原理,帮助大家来理解红黑树的工作原理,下面,多图预警开始了。在讲红黑树之前,我们首先来了解下下面几个概念:二叉树,排序二叉树以及平衡...转载 2019-12-24 16:38:23 · 238 阅读 · 0 评论 -
常见算法
冒泡排序冒泡排序呢口诀:外层循环 0 到 n - 1内层循环 0 到 n - i - 1两两比较交换 数组 int[] arr = {5, 1, 2, 3, 7, 8, 6, 4};比较原理:1 2 3 5 7 6 4 8 1 2 3 5 6 4 7 8 1 2 3 5 4 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8...原创 2018-11-01 20:19:01 · 705 阅读 · 0 评论 -
JAVA求5的阶乘(递归非递归)
递归public class Test { public static void main(String[] args) { System.out.println(factorial(5)); } public static int factorial(int n) { if (1 == n) { return n; } else { return n ...原创 2018-11-02 19:05:44 · 2898 阅读 · 0 评论 -
二叉树(前序、中序、后序遍历图片步骤详解)
首先我们有这么一颗二叉树:前序遍历:根结点 —> 左子树 —> 右子树这棵树的前序遍历为:ABDEGHCF中序遍历:左子树—> 根结点 —> 右子树这棵树的前序遍历为:DBGEHACF后序遍历:左子树 —> 右子树 —> 根结点这棵树的前序遍历为:DGHEBFCA层次遍历:按层次遍历这棵树的前序遍历为:ABCDEF...原创 2019-06-08 15:40:59 · 61042 阅读 · 7 评论