![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 69
加油2019
想学的太多,路上满是坎坷,越是如此,越要勇往直前
展开
-
前缀树学习和IP路由查找
概要前缀树,又叫字典树,trie树。是一种多叉树。用途单词补全/预测拼写检查9建输入IP路由查找(最长前缀匹配)数组中两个树最大异或值特点根节点是空字符每个节点所有子节点都不同根到叶子,路径上所有字符连接即使该节点对应的字符串[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-66WdAdSm-1627787560898)(E:\csdn_demo\算法\前缀树\前缀树图示.png)]存储数组形式用空间换时间,每个节点使用数组保存,原创 2021-08-01 11:13:43 · 1027 阅读 · 0 评论 -
01背包问题通俗讲解
问题知道每个物体重量和价值,给你一个背包,计算所能装走物体的最大价值。例如:背包容量:8kg;物体重量编号重量/kg价值023134245356为什么叫01背包问题答:因为每个物体都只有两种选择,装或者不装,称这种每个物体只有两种选择的问题称为01背包问题。解题思路每个物体只有两种选择,即装与不装背包的最大容量为,某个物体装和不装的这种情况中的所得容量最大值。装:总价值增加v,背包容量减少w;(假设该物体重w,价值v原创 2021-04-04 00:28:15 · 318 阅读 · 0 评论 -
小张学算法之数据结构: 4.c语言用双向链表及内存池实现队列
加粗样式原创 2020-07-22 00:15:54 · 190 阅读 · 0 评论 -
小张学算法之音视频算法:2.jpeg图像压缩算法
接着上街视频压缩算法,今天来看看静态图像的压缩,相比视频压缩,图片压缩就太简单啦,let‘s go!!原创 2020-07-19 16:43:17 · 456 阅读 · 0 评论 -
小张学算法之数据结构:3.堆
此堆是数据结构中的堆,非我们程序中的堆栈段的堆。堆是一种完全二叉树,即非最后一层其他层全满的树。分最大堆和最小堆,最小堆,根节点大于孩子节点,左子树右子树也同样如此,是最小堆。看图看这红蓝配色,哈哈我是不会说我是巴萨球迷的哈哈哈。堆得插入十分简单:只需要在尾部插入,然后调整位置,和父节点比较,通过上浮交换操作,保持堆的特性。删除操作:只能删除根节点,然后孩子节点填充位置,段尾节点,填充空缺。由于是完全二叉树,可以使用数组来存储,根节点从1开始,2i是其左节点,2i+1是右节点,每次在尾部插原创 2020-07-18 10:58:10 · 145 阅读 · 0 评论 -
小张学算法之基础算法:6.树的广度优先遍历和深度优先遍历(非递归python)
广度优先遍历思想:使用队列,每一层,先将自己遍历后,在将孩子进队列,左先右后。def broad_travel(self, root, func): queue = [root] while queue: node = queue.pop(0) func(node.data) if node.lchild: queue.append(node.lchild) if node.rchild: queue.append(node.rchild)深度优先遍历原创 2020-07-05 11:35:53 · 234 阅读 · 0 评论 -
小张学算法之基础算法:4.DCT变换
DCT变换,离散余弦变换,将时域/空间域转换到频域上。是DFT离散的傅里叶变换去掉虚数项的表示。常用于图像音频压缩技术上,如jpeg,h264,mpeg算法中。公式:推导与理解见知乎:代码:一维DCT变换:二维DCT变换:矩阵表示和matlab程序分块DCT变换https://www.cnblogs.com/wyuzl/p/7880124.html...原创 2020-06-21 09:45:17 · 1401 阅读 · 0 评论 -
小张学linux内核之数据结构:2. rbtree
rbtree作为平衡二叉树在linux内核中的使用很广泛,如前文讲到的cfs调度类组织调度实体se,以及内存子系统中用来管理内存。原创 2020-06-17 23:34:54 · 342 阅读 · 0 评论 -
小张学算法之基础算法:3.图结构和最小生成树
图结构;有多个前驱和后继。如下图;带权值的路径,在通讯网络中路由策略中会使用到最小生成树算法,即连接网络中的各个点的最小总路径,不止路由算法中,在我们生活中电线的铺设,利用最短的材料完成网络的建设等,都需要最小生成树算法。图的表示图的遍历最小生成树算法...原创 2020-06-10 23:40:47 · 149 阅读 · 0 评论 -
小张学算法之基础算法:2.游标编码算法
定义:游标编码就是将一连串相同的字符或数据使用 次数+数据的方式进行压缩。属于熵编码的一种。例子:加入文本数据:aaaaaabbbbbbbccc就可以表示为6a7b3c原本存储需要16个byte存储,现在只需要6个字符了。如何存储呢:如果只是顺序的存储cnt+数据的存储方式,我们没法解决有数字的文本信息,当出现数字时没法知道到底是数字4还是cnt值为4。存储结构所以我们以这样的数据结构来存储:struct { byte cnt; byte dat;}第一字节存cnt,第原创 2020-06-03 23:47:47 · 1019 阅读 · 0 评论 -
小张学算法之基础算法:1.哈夫曼树与哈夫曼编码
门外汉程序员开启算法学习之旅第一章,做下哈夫曼树的学习笔记。原创 2020-05-27 22:55:50 · 185 阅读 · 0 评论 -
小张学算法:0.bresenham画圆算法
一个圆可以切成8块,这每一块都对称;沿x轴对称,y值符号变,x不变;沿y轴对称,x值不变,y符号变相反;沿y=x对称,y和x交换。一个概念:这样我们只需要画第一象限的1/8圆弧即可;沿x轴方向进行描点画圆,x每次增加1,y减1否,需要做判断,这也是我们算法的核心:y到底要不要减小,我们取(x+1,y-0.5)的点到圆心的距离与r作比较,如果该点在园外,则减,否则不变。即 插值公式:F(x...原创 2020-04-11 22:55:53 · 1486 阅读 · 0 评论