
笔试题总结
博弈Dream
code and code
展开
-
哈夫曼树
给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。哈夫曼树(霍夫曼树)又称为最优树.1、路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,...原创 2018-05-11 18:29:07 · 3282 阅读 · 0 评论 -
常用排序算法复杂度
各种常用排序算法的时间复杂度(平均、最好、最坏)、空间复杂度以及稳定性一直以来是常考的内容,下面对此做一个总结:算法对应元素出现的各种情况的总结:...原创 2018-05-07 10:15:41 · 371 阅读 · 0 评论 -
递归与回溯问题
1. 题目描述:输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来输入描述:每个测试输入包含2个整数,n和m输出描述:按每个组合的字典序排列输出,每行输出一种组合示例1输入5 5输出1 42 35解答#include<iostream>#include<vector>usin...原创 2018-07-30 08:59:22 · 1557 阅读 · 0 评论 -
数组与矩阵问题
1. 转圈打印矩阵2. 将正方形矩阵顺时针旋转90度3. "之"字形打印矩阵4. 找到无序数组中最小的k个数 1. 题目:给定一个整型矩阵,请按照转圈方式打印它。例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16打印:1...原创 2018-07-27 19:44:26 · 1401 阅读 · 0 评论 -
字符串题目
1. 数串1. 题目描述:设有n个正整数,将他们连接成一排,组成一个最大的多位整数。 如:n=3时,3个整数13,312,343,连成的最大整数为34331213。 如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述: 有多组测试样例,每组测试样例包含两行,第一行为一个整数...原创 2018-08-15 08:43:27 · 414 阅读 · 0 评论 -
位运算各种操作
1.二进制中1的数2.数组中只出现一次的数字3.不用加减乘除做加法4.不用额外变量交换两个整数的值5.不用比较判断找出两个数中较大的数6.在数组中找到出现奇数次的数 1. 请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如把9表示成二进制是1001,有2位是1.因此如果输入9,该函数输出2。 为了避免死循环,可以不右移输入的数字n。首先把n和...原创 2018-08-08 19:53:26 · 406 阅读 · 0 评论 -
最长公共子序列与子串问题
1. 最长公共子序列问题题目:给定两个字符串str1和str2,返回两个字符串的最长公共子序列。举例:str1="1A2C3D4B56",str2="B1D23CA45B6A"。"123456"和"12C4B6"都是最长公共子序列,返回哪一个都行。解法vector<vector<int>>getdp(vector<char>str原创 2018-08-17 20:48:31 · 323 阅读 · 0 评论 -
Patition函数用法
Patition函数 实现快速排序算法的关键在于先在数组中选择一个数字,接下来把数组中的数字分为两部分,比选择的数字小的数字移动到数组的左边,比选择的数字大的数字移动到数组的右边。这个函数可以如下实现:int Parition(int data[ ],int length, int start, int end){ if(data == NULL || length ...原创 2018-08-24 09:57:48 · 688 阅读 · 0 评论