详细解释:算法导论/数据结构书 1.链式基数排序 //n个数,每个数有g个关键字//排序:从最后的关键字开始到最前的关键字//分配+收集//每个关键字分配+收集需要n+n时间,而共有g个关键字,时间复杂度为O(2ng),效率很高。//如果用数组,数据集中在一个区间,则区间的长度很长,另外的区间的内存 ...
分类:
编程语言 时间:
2017-05-06 23:05:41
阅读次数:
339
数据结构图的经常使用算法总结 本人在校期间写了一个win32应用程序,用于回想算法导论图的经常使用算法(图中边的权值为两个圆心的像素点的距离) 1.dijkstra算法求两点之间最短路径: 贪心算法用优先队列实现,每次选择距离起点路径和最短的顶点弹出队列,此顶点最短路径就已经确定 初始图例如以下 选 ...
分类:
编程语言 时间:
2017-05-06 10:18:23
阅读次数:
320
c++: 《c++程序设计》 《c++primer》 《effective c++》 《more effective c++》 《深入探索c++对象模型》 《泛型编程与STL》 《STL源代码剖析》 数据结构与算法: 《算法导论》 《introduction of the design and an ...
分类:
其他好文 时间:
2017-05-01 15:58:30
阅读次数:
148
可以合并的堆 二项堆 先看看堆得操作运行时间的对比 对于使用这种数据结构有个概念 二项堆在union操作合并上有优势 二项堆由二项树组成 我们先看看二项树的定义 因为性质3中的系数就是二项式分布的系数,所以二项树名由此得来 B0 有2º = 1个节点 B? 有2¹=2个节点 且根节点比子节点小 B? ...
分类:
编程语言 时间:
2017-04-24 12:35:29
阅读次数:
201
小马同学,马农一枚,互联网搬运工,写了多年的程序,由于不是软件/计算机专业出身,算法技能较为薄弱,故在此开一栏,以巩固自己的算法知识,记录自己的学习过程.大部分例子主要参考了<<算法导论>>(作者:Thomas H. Cormen等)及<<数据结构、算法与应用-C++语言描述>>(作者:Sartaj ...
分类:
编程语言 时间:
2017-04-14 01:26:14
阅读次数:
196
主席树。。高大上的名字。。原名叫可持久化线段树。。也有人叫函数式线段树(其实叫什么都不重要)。 本来的作用就是字面意思。。持久化的线段树,支持修改之后查找某次修改之前的版本。(在NOIP之前在算法导论上看到过,当时觉得没什么,现在才知道好厉害的数据结构) 具体来怎么实现呢。。其实就是每次修改的时候都 ...
分类:
其他好文 时间:
2017-04-09 10:59:23
阅读次数:
212
一、题目 根据上次随机生成的100个顶点的无向图和有向图,对其进行广度优先搜索。 二、理解广度优先搜索 广度优先搜索可以将其想象成水滴落入水面溅起了的一圈一圈的涟漪,是由一个起始点开始一圈一圈进行扩散搜索的。 【课上老师是这样说的,大家想象一下,发现其实非常形象】 广度优先搜索总是从一个起始点出发, ...
分类:
编程语言 时间:
2017-04-08 12:16:18
阅读次数:
375
本文以两个具体例子详细剖析动态规划算法设计思想,主要参考圣经《算法导论》,加上自己的一些理解,主要是附上了一些具体实现过程,所以希望能对大家有所帮助。 #_*_ coding:utf-8 _*_ import numpy as np def MemoizedCutRodAux(p,n,r,s): i ...
分类:
其他好文 时间:
2017-04-06 19:39:13
阅读次数:
263
给定一副彩色图像,它由一个mxn的像素数组A[1..m,1..n]构成,每个像素是一个红绿蓝(RGB)亮度的三元组。假定我们希望轻度压缩这幅图像。具体地,我们希望从每一行中删除一个像素,使得图像变窄一个像素。但为了避免影响视觉效果,我们要求相邻两行中删除的像素必须位于同一列或相邻列。也就是说,删除的 ...
分类:
编程语言 时间:
2017-04-06 01:37:06
阅读次数:
205