哈夫曼树(Huffman Tree)与哈夫曼编码
摘要:【哈夫曼树的定义】 假设有n个权值{w1,w2,...,wn},构造一颗有n个叶子结点的二叉树,每个叶子结点带权Wk,每个叶子的路径长度为Lk,则其中带权路径长度WPL最小的二叉树称做哈夫曼树。 【一些定义】 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。
阅读全文
posted @
2015-02-12 16:51
uTank
阅读(410)
推荐(0)
堆(Heap)和二叉堆(Binary heap)
摘要:堆(Heap)The operations commonly performed with a heap are:create-heap: create an empty heapheapify: create a heap out of given array of elementsfind-ma...
阅读全文
posted @
2015-02-11 15:08
uTank
阅读(2551)
推荐(0)
优先队列(Priority Queue)
摘要:【最大堆实现优先队列】 用最大堆来实现优先队列,每一次入队操作就是堆的插入操作,每一次出队操作就是删除堆顶节点。 【入队操作】 1、插入新节点5: 2、新节点5上浮到合适位置: 【出队操作】 1、把原堆顶节点10“出队”: 2、最后一个节点1替换到堆顶位置: 3、节点1下沉,节点9成为新堆顶: 优先
阅读全文
posted @
2015-02-11 09:40
uTank
阅读(463)
推荐(0)
平衡二叉树(Balanced Binary Tree)
摘要:平衡二叉树(Balanced Binary Tree)/AVL树:
阅读全文
posted @
2015-02-10 10:50
uTank
阅读(183)
推荐(0)
PAT (Basic Level) Practise:1004. 成绩排名
摘要:【题目链接】读入n名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生的姓名 学号 成绩 ... ... ... 第n+1行:第n个学生的姓名 学号 ...
阅读全文
posted @
2015-02-07 18:26
uTank
阅读(2086)
推荐(0)
PAT (Basic Level) Practise:1029. 旧键盘
摘要:【题目链接】旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。输入格式:输入在2行中分别给出应该输入的文字、以及实际被输入的文字。每段文字是不超过80个字符的串,由字母A-Z(包括大、小写)、数字0-9、以及...
阅读全文
posted @
2015-02-06 15:30
uTank
阅读(1240)
推荐(0)
二叉搜索树(Binary Search Tree)
摘要:二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树。二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质:非空左子树的所有键值小于其根结点的键值;非空右子树的所有键值大于其根结点的键值;左右子树都是二叉搜索树;Wiki中的定义:The leftsubtree...
阅读全文
posted @
2015-02-06 14:25
uTank
阅读(355)
推荐(0)
树和二叉树(代码)
摘要:【代码】 1 #include 2 #include 3 4 typedef int ElementType; 5 6 typedef struct TreeNode { 7 ElementType Data; 8 struct TreeNode *Left;...
阅读全文
posted @
2015-02-05 11:35
uTank
阅读(478)
推荐(0)
二叉树的常见操作
摘要:【输出二叉树中的叶子结点】 无论前序、中序、后序遍历,叶子结点的输出顺序都是一样的吗??都是一样的,输出顺序为:从树的左边到右边叶子!!在二叉树的遍历算法中增加检测结点的“左右子树是否都为空”。 【求二叉树的叶子结点数】 【求二叉树的高度】 【由两种遍历序列确定二叉树】 已知三种遍历中的任意两种遍历
阅读全文
posted @
2015-02-04 15:05
uTank
阅读(672)
推荐(0)
二叉树的非递归遍历
摘要:【中序遍历】中序遍历非递归遍历算法:遇到一个结点,就把它压栈,并去遍历它的左子树;当左子树遍历结束后,从栈顶弹出这个结点并访问它;然后按其右指针再去中序遍历该结点的右子树; 1 void InOrderTraversal_ext(BinTree Bt) 2 { 3 BinTree pStac...
阅读全文
posted @
2015-02-03 10:51
uTank
阅读(283)
推荐(0)
What books does Bjarne Stroustrup suggest to master C++?
摘要:QUESTION :What books does Bjarne Stroustrup suggest to master C++?ANSWER:A Tour of C++is a quick (about 180 pages) tutorial overview of all of standar...
阅读全文
posted @
2015-02-03 10:12
uTank
阅读(251)
推荐(0)