随笔分类 -  数据结构与算法

摘要:# LRU 缓存 [题目链接](https://leetcode.cn/problems/lru-cache/) LRU,即**Least-Recently-Used**。是一种高速缓存替换策略,是一种缓存机制。主要是利用**局部性原理**。 局部性原理分两种,**空间**局部性和**时间**局部性 阅读全文
posted @ 2023-07-01 15:46 江水为竭 阅读(249) 评论(0) 推荐(1) 编辑
摘要:简介 作业:查找结构与排序方法 作业题目: BST 查找结构与折半查找方法的实现与实验比较 要求编写程序实现 BST 存储结构的建立(插入)、删除、查找和排序算法; 实现折半查找算法;比较 BST 查找与折半查找方法的时间性能。 作业要求: 1. 设计 BST 的左右链存储结构,并实现 BST 插入 阅读全文
posted @ 2023-01-05 22:11 江水为竭 阅读(304) 评论(0) 推荐(0) 编辑
摘要:定义 特点 每个节点最多有两棵子树,所以二叉树中不存在度大于2的节点。 左子树和右子树是有区别的,次序不能颠倒。 即使某个节点只有1个子节点,也是有左右之分的。 特殊的二叉树: 斜树:正如上图的树1和树2,向一边斜的二叉树。 满二叉树:叶子节点都在最后一层,也就是说,非叶子节点都有左右子树 ​ 完全 阅读全文
posted @ 2022-10-15 21:13 江水为竭 阅读(182) 评论(0) 推荐(1) 编辑
摘要:哈夫曼树 定义 定义:带权路径长度WPL最小的二叉树称作哈夫曼树,又叫最优二叉树 节点的带权路径长度为:从该节点到树根之间的路径长度与节点上的权的乘积 树的带权路径长度为:所有叶子节点的带权路径长度之和 构造方式 大话数据结构: 根据给定的n个权值{ w1,w2,w3,···,wn }构成n棵二叉树 阅读全文
posted @ 2022-10-15 13:59 江水为竭 阅读(1425) 评论(0) 推荐(2) 编辑
摘要:简介 Sunday算法是一种字符串匹配算法,相比于KMP算法,它比较简单易学。 在有些时候,比如字符串很长的时候,它是比KMP要高效的。 核心思想 从前往后匹配,匹配失败时关注主串中参与匹配的最末位字符的下一位。 若该字符没有在模式串中出现,则直接跳过,且模式串移动位数 = 模式串长度 + 1。 否 阅读全文
posted @ 2022-10-03 23:42 江水为竭 阅读(732) 评论(0) 推荐(2) 编辑
摘要:简介 实验项目 2: 栈结构及其应用 实验题目: 迷宫问题求解 实验内容: 一个迷宫可以看成是由 m × n 个房间组成的矩形,迷宫内部的每个房间有 4个方向,每个方向或者有障碍(如墙)而不能通过,或者无障碍而能通过。 入口为左上角房间,出口为右下角房间,问是否有简单路径从入口到出口,若有则输出一条 阅读全文
posted @ 2022-10-01 14:39 江水为竭 阅读(730) 评论(0) 推荐(2) 编辑
摘要:线性表 线性表(List):零个或多个数据元素的有限序列。 首先它是一个序列。也就是说,元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他每个元素都有且只有一个前驱和后继。 然后,线性表强调是有限的。 顺序表与单链表是线性表的两种最基本的存储结构,而静态链表是两者的完美 阅读全文
posted @ 2022-09-22 20:00 江水为竭 阅读(573) 评论(0) 推荐(3) 编辑
摘要:前言 五岔路口交通问题是已经给定了道路的通行情况,我们可以直接分析得到所有合法的道路通行方式,然后根据这些再得到不同方式之间的通行关系 建图过程 建点 如图 E为入口,是单行道; C为出口,是单行道; 其余都为双行道,也就是可以作入口,也可以当出口 E作为入口,可以将其余4个作为出口,4种方式 C作 阅读全文
posted @ 2022-09-15 09:39 江水为竭 阅读(186) 评论(0) 推荐(1) 编辑
摘要:P1439 【模板】最长公共子序列 题目链接 P1439 LIS(Longest Increasing Subsequence)(最长递增子序列) LCS(Longest Common Subsequence)(最长公共子序列) 简朴的DP 求LCS标准DP模板 点击查看代码 #include<io 阅读全文
posted @ 2022-09-07 22:47 江水为竭 阅读(41) 评论(0) 推荐(1) 编辑
摘要:单链表 简介 单链表的多种功能实现 代码 点击查看代码 #include<stdio.h> #include<stdlib.h> #include<math.h> typedef struct Node{ int data; struct Node * next; }Node;//链表创建 void 阅读全文
posted @ 2022-09-07 22:15 江水为竭 阅读(37) 评论(0) 推荐(0) 编辑

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