- 博客(22)
- 资源 (12)
- 收藏
- 关注
原创 数据结构——哈希
装填因子:key的个数与表长的比值。 哈希表查找成功的平均查找长度,查找失败的平均查找长度都是期望,期望怎么求,平均查找长度就怎么求。 散列表这里有两种实现方式:线性开型寻址散列,链表散列。1.线性开型寻址散列: 数组实现,数据个数不大于表长,放一个元素时,若发生冲突,则顺次线性扫描直到找到一个空位。2.链表散列: 解决了overflow问题。 什么叫查找
2016-12-28 17:31:47 417
原创 操作系统——文件系统
5.2打开文件 在操作系统中就是确定进程操作哪个文件。这个确定过程由两个事件构成: 1.将用户进程task_struct中的*filp[20]与内核中的file_table[64]进行挂接。 2.将用户进程需要打开的文件对应的i节点在file_table[64]中进行等级。 *file[20]:掌控一个进程可以打开的文件,既可以打开多个不同的文件,也可以同一个文件多次打开,
2016-12-27 18:06:23 893
原创 数据结构——并查集
等价关系:满足自反,对称,传递。等价类:指相互等价的元素的最大集合。一个元素只能属于一个等价类。离线等价类问题中,已知n和R,确定所有的等价类。在线等价类问题中,初始时有n个元素,每个元素都属于一个独立的等价类。find(element)返回所属的等价类。union (class_A,class_B)把不同的类合并成一个类。combine(a,b)等价于: classA=f
2016-12-27 17:13:43 420
原创 数据结构——哈夫曼树与哈夫曼编码
1.哈夫曼编码 Huffman code: 是一种文本压缩算法,这种算法依据的是不同符号在一段文本中相对出现的频率。假设一个文本是由a,u,x,z组成的字符串,其长度为1000,每个字符用1字节来存储,共需要1000字节,即8000位。如果每个字符用2位二进制来编码:00=a, 01=x, 10=u, 11=z.那么,用2000位空间即课表示1000个字符。此外,我们还需要一定的空间来存放编
2016-12-27 17:12:04 601
转载 冒泡排序最好时间复杂度为什么是O(n)?
blog链接:http://www.cnblogs.com/melon-h/archive/2012/09/20/2694941.html通过上面的博客我知道了:按照最初级的一般写法,每一次循环都比较相邻数据的大小,原数据是否有序不会影响比较次数,此时时间复杂度是O(n^2).而网上和书上的很多说O(n)是因为加了优化。初始didswap=false. 当发生一次交换就将didsw
2016-12-26 16:08:05 9639 5
原创 数据结构——线索二叉树
线索二叉树的构造 线索化:对二叉树以某种次序遍历,使其变为线索二叉树的过程。在遍历过程中,检查当前节点左右指针域是否为空,若为空,将它们改为指向前驱节点或者后继节点的线索。
2016-12-26 10:08:21 349
原创 数据结构——左高树
12.5左高树(高度优先左高树,height-biased leftist tree, HBLT)12.5.1高度优先与宽度优先的最大及最小左高树 考虑一棵二叉树,它有一类特殊的节点交外部节点(external node),它代替树中的空子树。其余节点叫做内部节点(internal node),内部节点是包括叶子节点的。增加了外部节点的二叉树叫做扩充二叉树(extended binary
2016-12-26 08:49:20 2201
原创 数据结构——优先级队列(主要是堆)
chapter12 优先级队列, priority queue 在优先级队列中,元素出队列的顺序由元素的优先级决定。 堆是实现优先级队列效率很高的数据结构——堆,是一棵完全二叉树,用数组表示:1,1左2,1右3,2左4,2右5,3左6,3右7.12.1 定义和应用 优先级队列是0个或多个元素的集合,每个元素都有一个优先权或值。top查找,push插入,pop删除。在最小优先级
2016-12-25 10:07:52 1355
原创 二进制文件
我对于二进制文件的理解://很有可能是有问题的,阅读请谨慎。 计算机存储数据的方式是0,1编码,所以广义上说,所有的文件都是二进制文件。 狭义上的有.bin .exe .obj文件。
2016-12-21 22:02:58 418
原创 OpenMP——共享编程知识点
OpenMP是一个库,是针对共享内存并行编程的API。 OpenMP被明确地设计成可以用来对已有的穿行程序进行增量式并行化,这对于MPI是不可能的,对于Pthreads也是相当困难的。 这里的OpenMP学习这几部分:1)对源代码进行少量改动就可以并行化许多串行的for循环。2)任务并行化。3)显式线程同步。4)缓存对共享内存编程的影响(这是共享内存编程中的标准问题)。5)当串行代码(
2016-12-20 22:31:07 1771
原创 数据结构——图 动态规划
动态规划难度相对较大。它的基础是最优原理。有很多问题,用贪婪法或者分而治之无法简洁高效的解决,但是动态规划就可以。 在动态规划中,我们要考察一系列抉择,以确定一个最优抉择序列是否包含最优抉择子序列。当最优抉择包含最优抉择子序列时,可建立动态规划递归方程以帮助我们高效解决问题。 动态规划常常基于一个递推式或一个或多个初始状态。当前子问题的解将由上一个子问题的解推出。一般是多项式复杂度。
2016-12-19 15:23:54 963
原创 组通信与点对点通信
通信子(communicator):是指一组可以相互发送消息的进程集合。 集合通信(collective communication):也叫组通信,是指设计通信子中所有进程的通信函数。 点对点通信(point-to-point communication):函数对(两个函数)之间的通信。 集合通信和点对点通信的区别: 1)通信子中的所有进程都必须调用相同的集合通信函
2016-12-19 08:29:48 2416 1
原创 缓存一致性
Cache 一致性问题:在多核系统中,各个核的cache存储相同变量的副本,当一个处理器更新cache中该变量的副本时,其他处理器应该知道该变量已更新,即其他处理器中cache的副本也应该更新。 有两种主要的方法来保证cache的一致性:监听cache一致性( Snooping Cache Coherence )和基于目录的擦车一致性(Directory Based Cache Cohere
2016-12-18 20:55:49 2578
原创 数据结构——图 贪婪方法
贪心方法 greedy method: 逐步构造最有解(其实是近似最优的解)。每一步,我们都在一定的标准(这个标准叫贪婪准则 greedy criterion)下作出一个最优决策。 最优化问题 optimization problem:包含一组限制条件(constraint)和一个优化函数(optimization function)。符合限制条件的问题求解方案称为可行解(feas
2016-12-18 13:41:42 1287
原创 数据结构——图 生成树
连通无向图的生成树包含原图中所有的点,树的边也是原图中存在的边。广度优先生成树(breadth-first spanning tree)是按BFS所得到的生成树。深度优先生成树(depth-first spanning tree)是按DFS所得到的生成树。
2016-12-16 20:51:54 1668
原创 数据结构——图 连通图与连通分量
note: 连通是无向图中的概念接下来介绍两个算法:判断图的连通性与标记连通分量。1. 判断一个图是否连通. Determine whether an undirected graph is connectedclass Undirected : virtual public Network { public: bool Connected();};bool Und
2016-12-16 17:13:01 7217
原创 数据结构——图 寻找一条路径
用DFS来实现 findPath 的功能。因为在深度优先搜索中,路径的边集已隐含在递归过程中,因此利用DFS设计是比较容易的。bool Network::FindPath(int v, int w, int &length, int path[]){//Find a path from v to w, return length and path in path[0:length]
2016-12-16 16:57:45 1538
原创 并行硬件和并行软件
From:《并行程序设计导论》2.1.1 Von Neumann 结构。 经典的Von Neumann结构包括主存,CPU,以及主存与CPU之间的互连结构。 Von Neumann瓶颈:主存与CPU之间的分离(互连结构)。 瓶颈的原因:互连结构的分离限制了指令和数据访问的速度。2.1.2 进程、多任务以及线程 操作系统(Operating System )是一种
2016-12-16 14:14:10 1697
原创 数据结构——归并排序
归并排序,即Merge_Sort,通过递归式的merge操作(merge即归并)实现排序。算法思想是分治思想(divide and conquer)。归并排序一般是递归实现的 //递归都是一去一回,去的时候divide,回的时候conquer。(表达欠提炼)1)divide,“分” 递归地将原来无序的序列分成两部分,直到每个表所含元素个数都变成1。2)conquer,“治
2016-12-11 08:54:20 269
原创 数据结构——图的遍历
图的遍历:从一个已知顶点开始,搜索所有可到达的顶点。两种常用方案: (i) Breadth first search,BFS (ii)depth first search, DFS .一般采用深度优先算法 DFS,其效率更高。(i) 图的广度优先搜索,BFS 类似与二叉树的层次遍历。用一个队列实现。BFS示例代码:virtual void
2016-12-10 16:02:22 561
转载 linux终端快捷键
zxx的专栏Come on! Let's Hello World! !目录视图摘要视图订阅聚焦行业最佳实践,BDTC 2016完整议程公布 微信小程序实战项目——点餐系统 程序员11月书讯,评论得书啦 Get IT技能知识库,50个领域一键直达【终端快捷键】Li
2016-12-01 14:41:17 359
密码编码学与网络安全 原理与实践 中文第五版
2017-12-04
linux入门很简单
2017-02-10
严蔚敏视频授课用到的ppt课件
2015-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人