随笔分类 -  课程 / 数据结构

摘要:1.Hash Hash叫做”散列表“,就是把任意长度的输入,通过散列算法,变成固定长度输出,该输出结果是散列值。 其实这种转换是一种压缩映射,散列表的空间通常小于输入的空间,不同的输入可能会散列成相同的输出,所以不能从散列表来唯一的确定输入值。这就出现了Hash冲突。 Hash冲突: 根据key(键 阅读全文
posted @ 2023-09-22 11:17 ImreW 阅读(7) 评论(0) 推荐(0) 编辑
摘要:(一)DFS的复杂度分析 1.邻接表 对于邻接表的存储方式:因为邻接表中每条链表上的从第2个结点到表尾结点一定是表头结点的邻接点,所以遍历表头结点的邻接的过程中只需要遍历这些顶点即可,无需遍历其他的顶点,所以遍历某个顶点的所有邻接点的复杂度为O(ei), ei为每个顶点的邻接点个数,也就是每条链表的 阅读全文
posted @ 2023-05-15 10:34 ImreW 阅读(1115) 评论(0) 推荐(1) 编辑
摘要:原文链接:算法学习笔记(28): 网络流 (一)介绍 网络流是算法竞赛中的一个重要的模型,它分为两部分:网络和流。 网络,其实就是一张有向图,其上的边权称为容量。额外地,它拥有一个源点和汇点。 其中1为源点,3为汇点 流,顾名思义,就像水流或电流,也具有它们的性质。如果把网络想象成一个自来水管道网络 阅读全文
posted @ 2023-05-12 21:10 ImreW 阅读(26) 评论(0) 推荐(0) 编辑
摘要:符合主递归式条件的情况 首先对于可以用主方法求解的形式,这里不再说明,符合主方法的三种情况只要套用公式即可得到正确答案。 不符合主递归式条件 除以 有类似 形式的递归式存在,其解为 ,有些解答认为是 实际上并不准确。 同样这种形式也不符合主方法的条件,同样使用递归树法进行近似的求解,然后再使用代入法 阅读全文
posted @ 2023-04-26 20:42 ImreW 阅读(236) 评论(0) 推荐(0) 编辑
摘要:(一)HashMap 这个问题我觉得可以从 HashMap 的一些关键点入手,例如 hash 函数、如何处理冲突、如何扩容。 HashMap 无非就是一个存储 <key,value> 格式的集合,使得通过 key 在 O(1) 的时间复杂下就能查找到 value。 基本原理就是将 key 经过 ha 阅读全文
posted @ 2023-04-03 15:41 ImreW 阅读(57) 评论(0) 推荐(0) 编辑
摘要:关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图。 强连通图:在有向图中,若任意两个顶点都有路径相通,则称该有向图为强连通图。 连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫 阅读全文
posted @ 2023-03-30 10:19 ImreW 阅读(49) 评论(0) 推荐(0) 编辑
摘要:(一)引入:构造大根堆 首先我们给定一个无序的序列,将其看做一个堆结构,一个没有规则的二叉树,将序列里的值按照从上往下,从左到右依次填充到二叉树中。 对于一个完全二叉树,在填满的情况下(非叶子节点都有两个子节点),每一层的元素个数是上一层的二倍,根节点数量是1,所以最后一层的节点数量,一定是之前所有 阅读全文
posted @ 2023-03-19 22:05 ImreW 阅读(90) 评论(0) 推荐(0) 编辑
摘要:一、A*算法 (一)算法思路 A*算法通过下面这个函数来计算每个节点的优先级。 f(n)=g(n)+h(n) 其中: f(n) 是节点n的综合优先级。当我们选择下一个要遍历的节点时,我们总会选取综合优先级最高(值最小)的节点。 g(n) 是节点n距离起点的代价。 h(n) 是节点n距离终点的预计代价 阅读全文
posted @ 2023-02-14 15:53 ImreW 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一、Dijkstra算法简介 Dijkstra算法是解决单源最短路径问题的贪心算法 该算法在计算的时候将所有的点分为两个集合,一个是目标点集U,初始时只有起点,Dijkstra算法的功能是,给定一个起点,计算它到其他所有点的最短路径 二、Dijkstra算法的基本思想 设置两点顶点的集合U和T,集合 阅读全文
posted @ 2023-02-13 22:06 ImreW 阅读(764) 评论(0) 推荐(1) 编辑
摘要:to do 阅读全文
posted @ 2023-01-20 19:19 ImreW 阅读(2) 评论(0) 推荐(0) 编辑
摘要:〇、总览 (一)术语说明 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面;内排序 :所有排序操作都在内存中完成;外排序 :由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行;时间复杂度 阅读全文
posted @ 2022-11-24 20:50 ImreW 阅读(24) 评论(0) 推荐(0) 编辑
摘要:to do 阅读全文
posted @ 2022-11-17 21:39 ImreW 阅读(17) 评论(0) 推荐(0) 编辑
摘要:一、平衡二叉树 平衡二叉树(balanced binary tree)又称AVL树(Adelson-Velskii and Landis) 一棵平衡二叉树或者是空树,或者是具有下列性质的二叉排序树: 左子树与右子树的高度之差的绝对值小于等于1; 左子树和右子树也是平衡二叉排序树 为了方便起见,给每个 阅读全文
posted @ 2022-11-16 19:00 ImreW 阅读(197) 评论(0) 推荐(0) 编辑
摘要:一、为什么需要红黑树? 对于二叉搜索树,如果插入的数据是随机的,那么它就是接近平衡的二叉树,平衡的二叉树,它的操作效率(查询,插入,删除)效率较高,时间复杂度是O(logN)。但是可能会出现一种极端的情况,那就是插入的数据是有序的(递增或者递减),那么所有的节点都会在根节点的右侧或左侧,此时,二叉搜 阅读全文
posted @ 2022-11-11 16:14 ImreW 阅读(56) 评论(0) 推荐(0) 编辑

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