排序算法----插入和希尔排序 排序算法----插入和希尔排序 1、插入排序 插入排序的基本思想:把 n 个待排序的元素看成为一个有序表和一个无序表,开始时有 序表中只包含一个元素,无序表中包含有 n-1 个元素,排序过程中每次从无序表中取出第一个元素,把它的排 序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置, 2025-06-22 1 0 数据结构与算法 后端
二叉树----顺序二叉树、线索二叉树 二叉树----顺序二叉树、线索二叉树 1、顺序二叉树 1.1、 顺序二叉树的特点 特点 顺序二叉树通常只考虑完全二叉树 </ 2025-06-22 0 0 数据结构与算法 后端
二叉排序树 二叉排序树 1、二叉排序树的介绍 二叉排序树:BST: (Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大 特别说明:如果有相同的值,可以将该节点放在左子节点或右子节点 2025-06-22 0 0 数据结构与算法 后端
二叉树----遍历、查找、删除 二叉树----遍历、查找、删除 1、为什么需要树? 数组的查找效率高,但是插入效率低。 链表的插入效率高,查找效率低。 2、二叉树 二叉树的基本概念:每个节点最多只能由两个子节点的一种树叫做二叉树 满二叉树:如果该二叉 2025-06-22 1 0 数据结构与算法 后端
排序算法----基数排序 排序算法----基数排序 1.基本思想 基数排序的基本思想:将所有待比较数值统一为同样的数位长度,数位较短的数前面补零。然后,从最低位开始,依次进行一次排序。 这样从最低位排序一直到最高位排序完成以后, 数列就变成一个有序序列。 2.基数排序的代码实现 package com.yishuai.so 2025-06-22 0 0 数据结构与算法 后端
平衡二叉树(AVL树) 平衡二叉树(AVL树) 1、为什么要平衡二叉树 如果由数组{1, 2, 3, 4, 5}来构建一颗二叉排序树,得到的二叉树不仅没有体现其特点,反而还退化成了链表,且因为要判断左子树,查询效率比链表还低 2、平衡二叉树的介绍 平衡二叉树也叫平衡二 2025-06-22 1 0 数据结构与算法 后端
图的创建、遍历 图的创建、遍历 1、图的基本介绍 当我们需要表示多对多的关系时,我们就需要图 图是一种数据结构,其中结点可以具有零个或多个相邻元素。两个结点之间的连接称为边。结点也可以称为顶点 2025-06-22 2 0 数据结构与算法 后端
KMP算法 2、KMP算法 2.1、解决的问题 KMP是一个解决模式串在文本串是否出现过,如果出现过,找出最早出现的位置的经典算法,用来解决暴力匹配算法的不足 2.2、算法思路 2.2.1、部分匹配表的生成 什么是 2025-06-22 2 0 数据结构与算法 后端
排序算法----冒泡和选择排序 排序算法----冒泡和选择排序 1、冒泡排序 冒泡排序的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较 相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 1.1冒泡排序代码实现 2025-06-22 0 0 数据结构与算法 后端
《重构-改善既有代码的设计》笔记 重构:对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本 1. 重构原则 重构应该随时随地进行,而不是专门安排时间进行重构 添加功能时重构 修补错误时重构 复审代码时重构 2. 代码的坏味道 学会判断一个类有多少实例变量算是太大,一个函数内有多少行代码才算 2025-06-22 1 0 Java 后端 面试题
分布式事务seata-at模式使用 1. seata安装 docker 安装 docker run --name seata-server \ -p 8091:8091 \ -p 7091:7091 \ -e SEATA_IP=192.168.0.250 \ -e SEA 2025-06-22 0 0 Java 后端 面试题 微服务