
数据结构与算法
dyingstraw
这个作者很懒,什么都没留下…
展开
-
obsidian标题自动添加序号
虽然可以用CSS,但还是想用Python实现初步想法:python分析出标题级别,加上数字标号str="""# ## ### ### ######## #### #### #############"""lines = str.split("\n")stepUp = 0titleNum = [0,0,0,0,0,0,0,0,0,0,0,0,0]lastLevel = 0for line in lines:原创 2022-03-01 23:17:34 · 6435 阅读 · 1 评论 -
各种排序大杂烩
常见排序的时空复杂度参考:https://www.cnblogs.com/onepixel/articles/7674659.html1.插入排序原理: 1、将指针指向某个元素,假设该元素左侧的元素全部有序,将该元素抽取出来,然后按照从右往左的顺序分别与其左边的元素比较,遇到比其大的元素便将元素右移,直到找到比该元素小的元素或者找到最左面发现其左侧的元素都比它大,停止;...原创 2019-03-04 21:47:05 · 199 阅读 · 0 评论 -
哈夫曼树与带权路径长度
问题:权值分别为从19,21,2,3,6,7,10,32的结点,构造一棵哈夫曼树,该树的带权路径长度是?构建哈夫曼树:1.从19,21,2,3,6,7,10,32之中选取连个最小的2,3。2.从19,21,5,6,7,10,32之中选取连个最小的5、6。3.从19,21,11,7,10,32之中选取连个最小的7、10。4.从19,21,11,17,32之中...原创 2019-03-03 20:50:18 · 20931 阅读 · 4 评论 -
快排回顾
快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。具体怎么实施的?针对序列arr=【10,8,9,12,15,6,10,1】三个指针:smallP...原创 2019-03-20 22:37:17 · 170 阅读 · 0 评论 -
再谈哈夫曼树之字符串编码
今天做了某公司的一道算法题,是构建aaaabbbccd的哈夫曼树,并写出最后编码的二进制串。当时就想,哈夫曼树而已啊,我才写了一篇博客啊。。。。搞起!结果,越搞越感觉不对劲。。。。。。。问题所在是我把字符的阿斯克吗当成霍夫曼树的构架基础,其实应该是频次、频次、频次!!!!重新做一下题:1. 统计字符的频次统计频次 字符 a b c d 频次 ...原创 2019-03-12 22:36:27 · 2230 阅读 · 0 评论 -
Q222:满二叉树结点个数
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { pub...原创 2019-03-26 17:06:49 · 1305 阅读 · 0 评论 -
常见正则表达式以及写法
1. 正整数^[\+]?[1-9]\d+$2. 正小数(整数部分是0的与不是0的)^[0][\.][\d]+$|^[\+]?[1-9]\d+[.]\d+$3. 正数(1 | 2)^[0][\.][\d]+$|^[\+]?[1-9]\d+[.]\d+$|^[\+]?[1-9]\d+$4. 0(0,0.00,+0,-0,+0.00,-0.00)^[+,-]?[0...原创 2019-04-06 16:47:46 · 1238 阅读 · 0 评论 -
图最短路径算法:(Floyd)弗洛伊德算法:过程讲解,路径打印
目录1.已知一个无向图如下图所示,D为其邻接表,p为中介矩阵2.首先以v0为中介点,求出两两节点的直接路径长度和途径V0的简介路径的长度,取最小值去更新邻接表。3.以v1为中介点,继续更新P,D两个矩阵4.以v2为中介点,继续更新P,D两个矩阵4.以v3为中介点,继续更新P,D两个矩阵5.因此,最后的D矩阵就是各节点间的最短路径大小。6.路径...原创 2019-04-02 11:40:01 · 7607 阅读 · 0 评论 -
平滑加权负载均衡算法
算法描述假设有 N 台服务器 S = {S0, S1, S2, …, Sn},默认权重为 W = {W0, W1, W2, …, Wn},当前权重为 CW = {CW0, CW1, CW2, …, CWn}。在该算法中有两个权重,默认权重表示服务器的原始权重,当前权重表示每次访问后重新计算的权重,当前权重的出初始值为默认权重值,当前权重值最大的服务器为 maxWeightServer,所有默...原创 2019-07-05 10:48:00 · 1242 阅读 · 0 评论