
数据结构与算法
个人学习数据结构与算法过程中的学习笔记
JavaWizard-M
我是一名Java程序员,对于编程技术有着执着的追求和无穷的热情。Code(代码)不仅仅是我的工作内容,更是我内心深处的灵魂伴侣。在我的世界里,Code是无所不能的,它不断地带领我探索未知、挑战极限,成就自己的同时也塑造了我的格局。如果你和我一样,对于编程技术充满激情和向往,那么请关注我的博客,我们一起分享技术、交流经验,成为彼此的知识益友。
展开
-
红黑树概述
红黑树是一种自平衡的二叉搜索树,采用了红黑颜色标记和特殊约束条件来保证树的平衡。其应用广泛,出现于多种数据结构实现(如Java中的HashMap、TreeMap等)。学习和理解红黑树的实现原理,对于我们理解这些数据结构的底层原理和优化非常有帮助。原创 2023-05-01 21:55:46 · 1448 阅读 · 0 评论 -
二叉树的递归和非递归方式实现的前中后序遍历(Java版本个人笔记)
背景知识: 二叉树(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树 eg: 本文主要介绍非递归方式 二叉树节点的定义: class Node { private int val; private Node left;//左子树 private Node right;//右子树 publi原创 2021-12-06 22:05:34 · 4499 阅读 · 0 评论 -
数据结构--线索化二叉树学习案例(java版)
** 数据结构–线索化二叉树学习案例(java版) 该树结构如下(线索化前): 中序遍历方式 线索化后(虚线表示新加节点关系) 全部实现代码如下: package com.mxf.ThreadBinaryTree; public class ThreadBinaryTreeDemo { public static void main(String[] args) { //创建叶子节点 TreeNode root = new TreeNode(1, "A");原创 2021-03-02 23:13:43 · 392 阅读 · 1 评论 -
数据结构--递归之八皇后问题(java版)
数据结构–递归之八皇后问题(java版) 问题表述为: 在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。 我们可以通过以下程序自己验证到底有多少种解法 package com.mxf; public class Queue8 { //定义一个max表示共有多少个皇后 private final int原创 2021-03-03 23:34:25 · 505 阅读 · 2 评论 -
递归算法学习案例--迷宫回溯问题(java实现)
迷宫回溯问题 如果看不太懂,建议使用debug多运行几遍,就能很清晰的了解递归的整个过程,希望对你学习递归有帮助 public class Maze { public static void main(String[] args) { //先创建一个二维数组,模拟迷宫 //地图 int[][] map = new int[8][7]; //1表示墙 //将上下置为1 for (int i = 0; i &原创 2021-02-19 21:49:55 · 709 阅读 · 0 评论