摘要:
加载Winsock库函数 : WSAStartup1 int WSAStartup(2 WORD wVersionRequested,//指定想要加载的winsock库3 LPWSADATA lpWSAData//指向 WSADATA的指针,用来返回DLL库的详细信息4 );WSADat头结构 1 typedef struct WSAData 2 { 3 WORD wVersion; //库文件建议应用程序使用的版本 4 WORD wHighVersion; //库文件支持的最高版本 5 char ... 阅读全文
摘要:
按顺序输出序列: 1 #include <iostream> 2 #include <vector> 3 #include <queue> 4 #include <functional> 5 #include <string> 6 using namespace std; 7 template <typename PriorityQueue> 8 void dumpContents(const string & msg,PriorityQueue & pq) 9 {10 cout<<msg< 阅读全文
摘要:
二项队列是 堆序 的集合,也叫 森林。其中每一种形式都有约束。二项树Bk由一个带有儿子的B0,B1,B2...组成,高度为k的二项树 恰好有2^k个结点。每一种高度只能出现一次...因此,只有1,2,4,8...等结点数目的二项树deleteMin操作需要快速的找出跟的所有子树的能力,因此需要一般树的表示方法:每个结点的儿子都在一个链表中,而且每个结点都有一个指向它的第一个儿子的指针。二项树的每一个结点包括:数据,第一个儿子,以及右兄弟下面是二项队列类构架及结点定义: 1 template <typename Comparable> 2 class BinomialQueue 3 阅读全文
摘要:
斜堆是左式堆的自调节形式,是具有堆序的二叉树,但是不存在对树的结构限制。不含有npl信息。右路径可以任何时刻任意长,因此所有的操作最坏情况均为O(N)。与左式堆的区别:对于左式堆,查看是否左儿子,和右儿子满足左式堆的结构性质,如果不满足,交换。对于斜堆,无论是否满足,都要进行这种交换。斜堆可递归的定义如下:只有一个元素的堆是斜堆。两个斜堆通过斜堆的合并操作,得到的结果仍是斜堆。优点不需要附加空间保留路径长吗,不需要测试确定何时交换儿子 阅读全文
摘要:
零路径长:从X到一个不具有两个儿子的结点的最短路径的长。性质:任一结点的零路径长比他的诸儿子结点的零路径长的最小值多1父节点属性值小于子节点属性值;堆中的任何节点,其左儿子的零路径长>=右儿子的零路径长;的二叉树。下面是左式堆的类型声明: 1 template <typename Comparable> 2 class LeftistHeap 3 { 4 public: 5 LeftistHeap(); 6 LeftistHeap(const LeftistHeap & rhs); 7 ~LeftistHeap(); 8 9 bool isEmpty() co... 阅读全文
摘要:
每个程序猿学生时代仅有1000元的生活费,不知道该怎么合理利用,这是我自己的安排:400:饭卡(饭卡在手,饭菜我有)100:买书(这是学习的最佳途径,不要相信课堂能学到多少东西,图书馆的书,也仅仅当做参考,不适合自己用,因为不方便做笔记)200:咖啡+可乐+牛奶(还有平时的夜宵)100:聚餐(寝室的,朋友的,学生时代最好不要乱请客,咱没资本的)200:这部分就随意吧,买个袜子拖鞋什么的.....学校每个月300的补助:(这个不稳定,最好不要考虑在内)我觉得这个最好请那些比自己厉害的人吃饭,这样自己才能融入更高的学习氛围....挺不错的哈...唯一遗憾的,就是没女朋友的......这个...很多 阅读全文
摘要:
容易证明:一棵高为h的完全二叉树有2^h 到 2^(h+1)-1个结点。这就意味着,完全二叉树的高是[logN]特点:任意位置i:左儿子在位置2i上,右儿子在位置2i+1上,父亲在i/2上一个堆数据结构将由一个Comparable数组和一个代表当前堆的大小的整数组成:优先队列的接口: 1 template <typename Comparable> 2 class BinaryHeap 3 { 4 public: 5 explicit BinaryHeap ( int capacity = 10 ); 6 explicit BinaryHeap ( const Vector< 阅读全文
摘要:
关键字只能用在类构造函数。它的作用是不能进行隐式转换。 1 class gxgExplicit //没有关键字explicit的类 2 3 { 4 5 public: 6 7 int _size; 8 9 gxgExplicit(int size)10 11 {12 13 _size = size;14 15 }16 17 };下面是调用 gxgExplicit gE1(24); //这样是没有问题的 gxgExplicit gE2 = 1; //这样也是没有问题的 gxgExplicit gE3; //... 阅读全文