随笔分类 -  算法

摘要:出现背景 树就是没有回路的图 for无向图 对于不带权的图,想找到一个最小连通边集合,很简答,可以使用生成树,n-1条边可以做到,不唯一 对于带权的图,想找到权最小的生成树,称之为最小生成树 最小生成树性质 1、最小生成树不是唯一的,比如权值均相等问题退化到生成树,因为生成树不唯一,所以最小生成树不 阅读全文
posted @ 2022-08-15 14:38 srid 阅读(590) 评论(0) 推荐(0) 编辑
摘要:出现背景 在二叉搜索树和平衡二叉树诞生后,一个问题就一直困扰着后续信徒,几乎每插入一次都要平衡调整一下,操作浪费的时间太多了。为此,红黑树提出了走具有二叉特色的平衡道路,它们打破了原教旨的平衡不得超过1的原则,创建了自己的红黑树教派,但这在B树教派看来无疑是离经叛道,世风日下。B树教派信仰均衡存于万 阅读全文
posted @ 2022-08-14 22:00 srid 阅读(29) 评论(0) 推荐(0) 编辑
摘要:出现背景 平衡二叉树解决了搜索二叉树可能过长导致查找次数过多的问题,但是随着不断的插入和删除,平衡二叉树算法需要不断的旋转以达到最佳结构,这个旋转操作浪费了不少时间,平衡二叉树的条件过于严格导致在调整过程中浪费了不少操作时间,入不敷出。红黑树旨在根据一种较为宽松的平衡原则,达到查找树和调整树的操作之 阅读全文
posted @ 2022-08-14 20:00 srid 阅读(86) 评论(0) 推荐(0) 编辑
摘要:综述 抛开操作系统,计算机组成原理,数据结构,计算机网络这种划分方法。计算机知识只有两种,第一种是硬件的逻辑结构,第二种是以lamda演算为核心的算法。有时候我们要将两者结合起来,针对特定机器结构设定算法。但是总体来说,我们似乎很少在教科书或课堂学习上完全将这两种截然不同的知识进行分开总结归纳。这样 阅读全文
posted @ 2022-08-13 15:13 srid 阅读(44) 评论(0) 推荐(0) 编辑
摘要:插入排序 直接插入排序:简单干脆,直接插入,就是你想的那样。 折半插入排序:插入到顺序表时,使用折半查找确定位置,算是一种小优化 希尔排序: 交换排序 冒泡排序:两两比较冒个泡 快速排序:选一个数,其他数左小有大排列,应用递归 选择排序 简单选择排序:每一趟选个最小出来 堆排序:大根堆,小根堆 归并 阅读全文
posted @ 2022-08-11 20:47 srid 阅读(19) 评论(0) 推荐(0) 编辑
摘要:对于有向图,逐渐减少结点得到的路径 阅读全文
posted @ 2022-08-11 20:00 srid 阅读(25) 评论(0) 推荐(0) 编辑
摘要:算法 第一步,分为个体 第二步,联合,并 第三步,查询两个点是否联通,差 具体数据结构用列表可以表示 阅读全文
posted @ 2022-08-06 22:01 srid 阅读(130) 评论(0) 推荐(0) 编辑
摘要:要解决的问题: 有时候编码字符时,每个字符编码的长度不一样,为了节省空间,肯定是频率越高的字符编码长度越短。 哈夫曼树是输入字符频率,输出编码的字符长度和编码序列。 算法: 总体来说,是将输入的频率作为结点值,然后构建一棵树,这棵树的叶子结点是频率结点(因为编码不能有重复覆盖现象,所以只能存在于叶子 阅读全文
posted @ 2022-08-06 21:19 srid 阅读(115) 评论(0) 推荐(0) 编辑
摘要:背景 二叉搜索树可以实现排序,查找等功能,但是如果二叉树过于不平衡,就会导致搜索效率降低,最差会退化到o(n)的时间复杂度,并且增删改也在不断影响二叉树的平衡程度,所以我们需要一个平衡算法,将二叉树调整为最平衡的状态,这样搜索效率最高。 算法内容 LL RR RL LR 转换的本质就是把左或右结点作 阅读全文
posted @ 2022-08-06 20:54 srid 阅读(29) 评论(1) 推荐(0) 编辑
摘要:产生原因:为了解决二叉树遍历的时间空间成本问题,本质上是优化算法。遍历可以使用函数递归,但这样调用堆栈时空效率低下。 问题描述:对二叉树的遍历本质上是把非线性结构映射到线性结构的方式 线性二叉树解决问题的方案: 利用左右子树为空的结点,将空的部分填充入指针,左节点指向前驱,右结点指向后继,不调用堆栈 阅读全文
posted @ 2022-08-06 20:13 srid 阅读(39) 评论(0) 推荐(0) 编辑
摘要:导言 在计算机的算法中,操作系统和组成原理中,我们会发现一种通用问题模式,叫做有限的坑位分配给谁的问题,更通用的说法是顺序问题,本质是一个先来后到排序的rank问题,更本质是一个动态规划的函数映射确定问题。比如进程运行排队,磁盘访问调度,内存页面换算,IO设备等。本文旨在对所有茅坑拉屎问题做一个综述 阅读全文
posted @ 2022-08-03 22:33 srid 阅读(63) 评论(0) 推荐(0) 编辑
摘要:图灵机 图灵模型是从机器的角度,可以设计一种通用机,只用无限长的纸带和程序表,这种机器就可以模拟任何数学上的算法和一切计算。 任何实现了图灵机的其他机器也具有相同的功能。比如现代冯诺依曼以存储器为核心的通用电脑,生命游戏中也可以设计相关电路实现图灵机功能,或者现在研发的量子计算机,也是一种压缩了运算 阅读全文
posted @ 2022-07-31 14:07 srid 阅读(388) 评论(0) 推荐(0) 编辑
摘要:第零章 概括 LISP最大的优点在于自由,你可以从无到有定义任何东西,不需要任何别人规定好的算法。 不需要接受什么void return if catch等,不需要去像别人学习,你就是逻辑的主宰,自己世界的王。 别的语言给你工具让你生活,LISP给你造物神力去变化工具然后生活。 你不仅仅是在用别人的 阅读全文
posted @ 2022-07-30 10:24 srid 阅读(52) 评论(0) 推荐(0) 编辑

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