- 博客(75)
- 问答 (1)
- 收藏
- 关注
原创 单源最短路径
在最短路径问题中,给定一个带权重的有向图G=(V,E)和权重函数w:E→R,该权重函数将每条边映射到实数值的权重上。图中一条路径p=[v0,v1,•••,vk]的权重w(p)是构成该路径的所有边的权重之和。定义从结点u到结点v的最短路径权重δ=(u,v),从结点u到结点v的最短路径则定义为任何一条权重w(p)= δ=(u,v)的从u到v的路径p。
2017-03-01 08:17:02 1836
原创 最小生成树
一个无向连通图G=(V,E),对于每条边(u,v) ∈E,赋予其权重w(u,v),希望找到一个无环子集T⊆E,既能够将所有的结点连接起来,又具有最小的权重。由于T是无环的,并且连通所有的结点,因此,T必然是一棵树,这样的树为生成树,因为是由图G所生成的,称求取该生成树的问题为最小生成树问题。 求解最小生成树问题的两种通用算法是Kruskal算法和Prim算法,两种算法都采用贪心算法设计思想
2017-02-26 22:47:52 1209
原创 shell script
shell script是利用shell的功能所写的一个“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令(含外部命令)写在里面,搭配正则表达式、管道命令与数据流重定向等功能,以达到我们所想要的处理目的。
2017-02-22 09:30:57 958
原创 van Emde Boas树
van Emde Boas树支持优先队列操作以及一些其他操作,每个操作最坏运行时间为O(lg lgn),这种数据结构限制关键字必须为0~n-1的整数且无重复。
2017-02-21 22:37:57 2564
原创 斐波那契堆
斐波那切堆数据结构有两种用途。第一种,它支持一系列操作,这些操作构成了所谓的“可合并堆”;第二种,斐波那切堆的一些操作可以在常数摊还时间内完成,这使得这种数据结构非常适合于需要频繁调用这些操作的应用。
2017-02-20 21:43:58 841
原创 C++关于代码重用的那些事
C++的另一个目标是促进代码重用。公有继承是实现这种目标的机制之一,但并不是唯一的机制。还可以使用这样的类成员:本身是另一个类的对象,这种方法称为包含、组合或层次化。另一种方法是使用私有继承或保护继承。类模板是另一种重用代码的方法,类模板使我们能够使用通用术语定义类,然后使用模板来创建针对特定类型定义的特殊类。包含对象成员的类 通过组合(包含)即创建一个包含其他类对象的类,用于建立has-a关
2017-02-17 15:27:29 3131
原创 B树
B树是为磁盘或其他直接存取的辅助设备而设计的一种平衡搜索树,B树类似于红黑树,但它们在降低磁盘I/O操作数方面更好一些,许多数据库系统使用B树或者B树的变种来存储信息。
2017-02-17 12:33:41 394
原创 Linux关于bash的二三事(3)
在Linux环境下,bash是非常重要的概念,通常使用命令行执行命令的方式,就是通过bash的环境来处理的。bash的内容包括变量的设置和使用、bash操作环境的构建、数据流重定向功能和管道命令。
2017-02-16 17:28:56 483
原创 Linux关于bash的二三事(2)
在Linux环境下,bash是非常重要的概念,通常使用命令行执行命令的方式,就是通过bash的环境来处理的。bash的内容包括变量的设置和使用、bash操作环境的构建、数据流重定向功能和管道命令。
2017-02-16 17:08:32 495
原创 Linux关于bash的二三事(1)
在Linux环境下,bash是非常重要的概念,通常使用命令行执行命令的方式,就是通过bash的环境来处理的。bash的内容包括变量的设置和使用、bash操作环境的构建、数据流重定向功能和管道命令。
2017-02-16 15:37:17 672
原创 vim编辑器的按键操作
Linux中有很多工作离不开文档的编辑,所以命令行上的文本编辑器十分重要,vi是每个linux版本都会有的一种编辑器,vim是vi的高级版。
2017-02-14 21:44:24 763
原创 网络层:IP、IGMP、ICMP
网络层,有时也称为互联网层,处理分组在网络中的活动,在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。
2017-02-12 16:59:11 3507
原创 贪心算法
与动态规划算法类似,贪心算法通常用于最优化问题,贪心算法的思想是每步选择都追求局部最优,它在每一步都做出当时看起来最佳的选择,希望这样的选择能导致全局最优解。贪心算法并不保证得到最优解,但对很多问题确实可以求得最优解。贪心方法是一种强有力的算法设计方法,可以很好的解决很多问题。
2017-02-12 15:29:55 578
原创 Leetcode日记(1)
有段时间没有写代码了,就上Leetcode练练手,先做几个简单的题目开个头,从其中也发现了自己的一些不足,感觉自己STL也该开始慢看了。
2017-02-08 16:50:03 413
原创 apue:进程控制
UNIX的进程控制,包括创建新进程、执行程序和进程终止;进程的各种ID—实际、有效和保存的用户和组ID,以及它们如何受到进程控制原语的影响;解释器文件和system函数。
2017-02-08 15:00:25 463
原创 apue:UNIX进程的环境
当执行程序时,其main函数是如何被调用的,命令行参数是如何传送给执行程序的;典型的存储器布局是什么样式;如何分配另外的存储空间;进程如何使用环境变量;进程终止的不同方式等;longjmp和setjmp函数以及它们与栈的交互作用。
2017-02-07 19:16:23 456
原创 C++多态
多态是面向对象编程的重要特性,也是C++的一个特性,同样也是类设计的重要概念。多态可以理解是重载,通俗讲就是好比是人格分裂症——一个身体中有好几种性格。
2017-02-07 18:13:01 518
空空如也
Leetcodes 38 看不懂题目的一道
2017-02-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人