随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 74060

文章分类 -  数据结构与算法

上一页 1 2
希尔排序
摘要:希尔排序 一、概念及其介绍 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进。 希尔排序又称缩小增量排序,因 DL.Shell 于 1959 年提出而得名。 它通过比较相距一定间隔的元素来进行,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为 阅读全文
posted @ 2024-10-02 14:03 AtlasLapetos 阅读(24) 评论(0) 推荐(0) 编辑
插入排序
摘要:插入排序 一、概念及其介绍 插入排序(InsertionSort),一般也被称为直接插入排序。 对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增 1 的有序表 。在其实现过程使用双层循环,外层循环对除了 阅读全文
posted @ 2024-10-02 14:03 AtlasLapetos 阅读(2) 评论(0) 推荐(0) 编辑
数据结构与算法
摘要:数据结构与算法 数据结构(英语:data structure)是计算机中存储、组织数据的方式。 数据结构是一种具有一定逻辑关系,在计算机中应用某种存储结构,并且封装了相应操作的数据元素集合。它包含三方面的内容,逻辑关系、存储关系及操作。 不同种类的数据结构适合于不同种类的应用,而部分甚至专门用于特定 阅读全文
posted @ 2024-10-02 14:03 AtlasLapetos 阅读(4) 评论(0) 推荐(0) 编辑
并查集快速合并
摘要:并查集快速合并 对于一组数据,并查集主要支持两个动作: union(p,q) - 将 p 和 q 两个元素连接起来。 find(p) - 查询 p 元素在哪个集合中。 isConnected(p,q) - 查看 p 和 q 两个元素是否相连接在一起。 在上一小节中,我们用 id 数组的形式表示并查集 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(3) 评论(0) 推荐(0) 编辑
并查集快速查找
摘要:并查集快速查找 本小节基于上一小节并查集的结构介绍基础操作,查询和合并和判断是否连接。 查询元素所在的集合编号,直接返回 id 数组值,O(1) 的时间复杂度。 ... private int find(int p) { assert p >= 0 && p < count; return id[p 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(5) 评论(0) 推荐(0) 编辑
并查集基础
摘要:并查集基础 一、概念及其介绍 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。 并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,就能确定它在哪个集合里。 二、适用说明 并查集用在一些有 N 个元素的集合应用问题 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(1) 评论(0) 推荐(0) 编辑
二分搜索树的特性
摘要:二分搜索树的特性 一、顺序性 二分搜索树可以当做查找表的一种实现。 我们使用二分搜索树的目的是通过查找 key 马上得到 value。minimum、maximum、successor(后继)、predecessor(前驱)、floor(地板)、ceil(天花板、rank(排名第几的元素)、sele 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(1) 评论(0) 推荐(0) 编辑
二分搜索树节点删除
摘要:二分搜索树节点删除 本小节介绍二分搜索树节点的删除之前,先介绍如何查找最小值和最大值,以及删除最小值和最大值。 以最小值为例(最大值同理): 查找最小 key 值代码逻辑,往左子节点递归查找下去: ... // 返回以node为根的二分搜索树的最小键值所在的节点 private Node minim 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(4) 评论(0) 推荐(0) 编辑
二分搜索树层序遍历
摘要:二分搜索树层序遍历 二分搜索树的层序遍历,即逐层进行遍历,即将每层的节点存在队列当中,然后进行出队(取出节点)和入队(存入下一层的节点)的操作,以此达到遍历的目的。 通过引入一个队列来支撑层序遍历: 如果根节点为空,无可遍历; 如果根节点不为空: 先将根节点入队; 只要队列不为空: 出队队首节点,并 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(1) 评论(0) 推荐(0) 编辑
二分搜索树深度优先遍历
摘要:二分搜索树深度优先遍历 二分搜索树遍历分为两大类,深度优先遍历和层序遍历。 深度优先遍历分为三种:先序遍历(preorder tree walk)、中序遍历(inorder tree walk)、后序遍历(postorder tree walk),分别为: 1、前序遍历:先访问当前节点,再依次递归访 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(2) 评论(0) 推荐(0) 编辑
二分搜索树节点的查找
摘要:二分搜索树节点的查找 二分搜索树没有下标, 所以针对二分搜索树的查找操作, 这里定义一个 contain 方法, 判断二分搜索树是否包含某个元素, 返回一个布尔型变量, 这个查找的操作一样是一个递归的过程, 具体代码实现如下: ... // 查看以node为根的二分搜索树中是否包含键值为key的节点 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(2) 评论(0) 推荐(0) 编辑
二分搜索树
摘要:二分搜索树 一、概念及其介绍 二分搜索树(英语:Binary Search Tree),也称为 二叉查找树 、二叉搜索树 、有序二叉树或排序二叉树。满足以下几个条件: 若它的左子树不为空,左子树上所有节点的值都小于它的根节点。 若它的右子树不为空,右子树上所有的节点的值都大于它的根节点。 它的左、右 阅读全文
posted @ 2024-09-30 09:24 AtlasLapetos 阅读(5) 评论(0) 推荐(0) 编辑
二分搜索树节点的插入
摘要:二分搜索树节点的插入 首先定义一个二分搜索树,Java 代码表示如下: public class BST<Key extends Comparable<Key>, Value> { // 树中的节点为私有的类, 外界不需要了解二分搜索树节点的具体实现 private class Node { pri 阅读全文
posted @ 2024-09-30 09:20 AtlasLapetos 阅读(1) 评论(0) 推荐(0) 编辑

上一页 1 2
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示