搜索资源列表
递归算法快速排序
- 分而治之方法还可以用于实现另一种完全不同的排序方法,这种排序法称为快速排序(quick sort)。在这种方法中, n 个元素被分成三段(组):左段l e f t,右段r i g h t和中段m i d d l e。中段仅包含一个元素。左段中各元素都小于等于中段元素,右段中各元素都大于等于中段元素。因此l e f t和r i g h t中的元素可以独立排序,并且不必对l e f t和r i g h t的排序结果进行合并。m i d d l e中的元素被称为支点( p i v o t )。图1 4
nearpiont
- 最接近点对问题是求二维坐标中的点对问题,该算法是为了将平面上点集S线性分割为大小大致相等的2个子集S1和S2,我们选取一垂直线l:x=m来作为分割直线。其中m为S中各点x坐标的中位数。由此将S分割为S1={p∈S|px≤m}和S2={p∈S|px>m}。从而使S1和S2分别位于直线l的左侧和右侧,且S=S1∪S2 。由于m是S中各点x坐标值的中位数,因此S1和S2中的点数大致相等。 递归地在S1和S2上解最接近点对问题,我们分别得到S1和S2中的最小距离δ1和δ2。现设δ=min(δ
cfl
- 上下文无关文法(Context-Free Grammar, CFG)是一个4元组G=(V, T, S, P),其中,V和T是不相交的有限集,S∈V,P是一组有限的产生式规则集,形如A→α,其中A∈V,且α∈(V∪T)*。V的元素称为非终结符,T的元素称为终结符,S是一个特殊的非终结符,称为文法开始符。 设G=(V, T, S, P)是一个CFG,则G产生的语言是所有可由G产生的字符串组成的集合,即L(G)={x∈T* | Sx}。一个语言L是上下文无关语言(Context-Free Lan
c
- #include<malloc.h> #include<limits.h> #include<stdio.h> #include<graphics.h> #include<io.h> #include<math.h> #include<process.h> #include<conio.h> #define m 100 #define OK 1 typedef
huffman
- 实现最优二叉树的构造;在此基础上完成哈夫曼编码器与译码器。 假设报文中只会出现如下表所示的字符: 字符 A B C D E F G H I J K L M N 频度 186 64 13 22 32 103 21 15 47 57 1 5 32 20 57 字符 O P Q R S T U V W X Y Z , . 频度 63 15 1 48 51 80 23 8 18 1 16 1 6 2 要求完成的系统应具备如下的功能: 1.初始化。从终端(
grap
- —图数据类型的实现——问题描述:图是一种较线性表和树更为复杂的数据结构。在图形结构中,结点之间的关系是任意的,任意两个数据元素之间都可能相关,因此,图的应用非常广泛,已渗入到诸如语言学‘逻辑学、物理、化学、电讯工程、计算机科学及数学的其它分支中。因此,实现图这种数据类型也尤为重要,在该练习中即要实现图的抽象数据类型。基本要求:2、 定义出图的ADT;3、 采用邻接矩阵及邻接表的存储结构(有向图也可使用十字链表)实现以下操作:a. 构造图 b. 销毁图 c. 定位操作d. 访问图中某个顶点的操作e
Haffmancode
- 课程设计: 1.求出在一个n×n的棋盘上,放置n个不能互相捕捉的国际象棋“皇后”的所有布局。 2.设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。 【基本要求】 1) 将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中) 2) 分别采用动态和静态存储结构 3) 初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树; 4) 编码:利用建好的哈夫曼树生成哈夫曼编码; 5) 输出编码; 6)
main
- 多种排序的比较给定N个int类型(自定N的上限M,例如M=100000,N的取值不能少于10000)的整数,分别使用插入排序、快速排序、归并排序和堆排序方法进行升幂排序。-Comparison of a variety of sorting a int type of the given N (since N limit set M, for example, M = 100000, N values can not be less than 10000) and integer, respec
DBMM
- 单表密码 定义: 1、 明表: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2、 明文 they will arrive tomorrow 3、 密钥 K=Monday 4、 密码实现 1) 将明文与密钥转为数字串: K=(12,14,13,3,0,24)
m
- 矩阵转置 输入: l 稀疏矩阵的行数、列数、非零元个数(三个数都大于0) l 以行为主序输入稀疏矩阵三元组表 输出: l 辅助数组num[ ] l 辅助数组cpot[ ] l 以行为主序输出对应的转置矩阵三元组表-Matrix transpose input: l sparse matrix rows, columns, nonzero number (three numbers are greater than 0) l-major sparse matrix tr
Maximum-Increasing-subsequences
- 最大递增子序列,动态规划经典算法 设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。求最大的m值。-Maximum increment sequence, the classic dynamic programming algorithm set L = <a1,a2,…,an> Are n d
ThreadTree
- 线索二叉树,能帮助我们快速的建立二叉树,不需要重复代码,这样会使得设计者更加的轻松-ThreadTree is a BinaryTree which is converinint to built a BinaryTree , everyone wants to learn it , it really can help us ,we also learn how to build a BinaryTree.lt was a cool fall afternoon in Manhattan. T
goMaze
- *问题描述:一个网格迷宫由n行m列的单元格组成,每个单元格要么是空地(用1表示), * 要么是障碍物(用0 表示)。找出从起点到终点的最短移动序列,其中U,D,L,R, * 分别代表往上,下,左,右移动到相邻单元格。任何时候都不能在障碍格中, * 也不能走到迷宫之外,起点和终点保证是空地。n,m<=100.- go maze
hufferman
- 用下表给出的字符集和频度的实际统计数据建立哈夫曼树,并实现以下报文的编码和译码:“THIS PROGRAM IS MY FAVORITE”字符 A B C D E F G H I J K L M 频度 64 13 22 32 103 21 15 47 57 1 5 32 20 字符 N O P Q R S T U V W X Y Z 频度 57 63 15 1 48 51 80 23 8 18 1 16 1-The actual statistics of the character set a
BinaryTree
- 编程实现二叉树的存储结构与基本算法,主要包括以下功能: 创建二叉树B的二叉链 二叉树B:A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I))) 通过对二叉树B的操作,输出二叉树B的广义表(字符串)表达式 通过对二叉树B的操作,输出H结点的左孩子与右孩子 通过对二叉树B的操作,出二叉树B的深度 通过对二叉树B的操作,