- 博客(54)
- 收藏
- 关注
转载 数据结构 知识回顾
解决问题的效率与数据的组织方式有关解决问题的效率与空间的利用效率有关解决问题的效率与算法的巧妙程度有关数据结构:数据对象在计算机中的组织方式数据对象必定与一系列操作相关联完成操作所用的方法就是算法数据对象的结构:逻辑结构(链式结构,树,图),物理存储结构(链式,数组)使用抽象数据类型描述数据结构数据类型包括:数据对象集 和 相关操作集测试算法的执行时间模板#include<stdio.h>#include<time.h>#define MAXN .
2020-11-26 11:29:34 414
转载 散列查找
散列查找散列查找的操作集散列的基本思想术语构造散列函数数字关键词散列函数构造直接定址法除留余数法数字分析法折叠法平方取中法字符关键字的散列函数构造
2020-11-26 11:28:36 362
转载 C 基础知识回顾
sizeof 属于静态运算符,结果在编译时刻确定int j=1;printf("sizeof(++j)=%d\n",sizeof(++j));//sizeof(++j)=4printf("j=%d\n",j);//j=1强制类型转换,产生新的值。不改变原来值的类型和大小double i=10.1;int j=(int)i;printf("i=%f\n",i);//i=10.100000printf("j=%d\n",j);//j=10数组的集成初始化int a[]={0,.
2020-08-21 22:58:02 306
原创 Redraiment的走法【C语言】华为机试
参考 牛客203668885号目录题目:输入格式输出格式输入样例输出样例算法分析代码实现题目:Redraiment是走梅花桩的高手。Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗?6个点的高度各为 2 5 1 5 4 5如从第1格开始走,最多为3步, 2 4 5从第2格开始走,最多只有1步,5而从第3格开始走最多有3步,1 4 5从第5格开始走最多有2步,4 5所以这个结果是3。输入格式输入多.
2020-07-23 16:35:01 703
原创 求解立方根【C语言】浮点数的四舍五入
目录题目:输入格式输出格式输入样例输出样例算法代码实现题目:•计算一个数字的立方根,不使用库函数详细描述:•接口说明原型:public static double getCubeRoot(double input)输入:double 待求解参数返回值:double 输入参数的立方根,保留一位小数输入格式待求解参数 double类型输出格式输入参数的立方根 也是double类型输入样例216输出样例6.0算法二分法缩小取值范围估计精度范围(本题为保留一位小数,所
2020-07-23 14:22:18 1247
原创 购物单【C语言】华为机试
目录题目:输入格式输出格式输入样例输出样例算法背包分组问题代码实现题目:王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件电脑 打印机,扫描仪书柜 图书书桌 台灯,文具工作椅 无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出预算,他把每件物品规定了一个重要度,分为 5
2020-07-22 13:45:59 737
原创 动态规划【C语言】01背包问题
目录题目:输入格式输出格式输入样例输出样例算法描述代码实现优化代码方法二代码实现子函数:说明子函数:说明子函数:说明方法三代码实现子函数:说明子函数:说明子函数:说明题目:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi,用空格隔开,分别表
2020-07-19 17:00:12 4934
原创 数独 【C语言】华为2016研发工程师编程
参考:努力努力再努力r目录题目:输入格式输出格式输入样例输出样例算法问题分析代码实现Backtrack(回溯)函数IsConform函数题目:数独是一个我们都非常熟悉的经典游戏,运用计算机我们可以很快地解开数独难题,现在有一些简单的数独题目,请编写一个程序求解。 如有多解,输出一个解输入格式输入9行,每行为空格隔开的9个数字,为0的地方就是需要填充的。输出格式输出九行,每行九个空格隔开的数字,为解出的答案。输入样例8 1 5 0 0 3 2 9 00 6 7 0 0 0 0 0 0
2020-07-15 17:22:28 269
原创 Sort with Swap(0, i) (25分)【C语言】
目录题目:输入格式输出格式输入样例输出样例算法问题分析代码实现Cycle函数:记录每个环中元素个数习题讲解视频题目:Given any permutation of the numbers {0, 1, 2,…, N−1}, it is easy to sort them in increasing order. But what if Swap(0, *) is the ONLY operation that is allowed to use? For example, to sort {4,
2020-07-14 19:01:59 439
原创 Insertion or Heap Sort (25分)【C语言】
目录题目:输入格式输出格式输入样例输出样例输入样例输出样例算法问题分析代码实现HeapSort函数:一趟堆排序PerDown、BuildMaxHeap函数:下滤和生成最大堆IsInsertion函数:判断是否是插入函数题目:According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration
2020-07-10 20:34:57 589
原创 Insert or Merge (25分)【C语言】
目录题目:输入格式输出格式输入样例输出样例输入样例输出样例算法问题分析代码实现MergePass函数:一趟归并排序Merge函数:归并核心代码Length函数:计算当前序列的有序长度IsInsertion函数:判断是否是插入函数习题讲解视频题目:According to Wikipedia:Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Ea
2020-07-10 20:26:33 514
原创 关键活动 (30分)【C语言】拓扑排序中找到 关键路径
目录题目:输入格式输出格式输入样例输出样例算法拓扑排序代码实现TopSort函数ReverseTopSort函数邻接矩阵构造的图习题讲解视频题目:假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它一些子任务后才能执行。“任务调度”包括一组子任务、以及每个子任务可以执行所依赖的子任务集。比如完成一个专业的所有课程学习和毕业设计可以看成一个本科生要完成的一项工程,各门课程可以看成是子任务。有些课程可以同时开设,比如英语和C程序设计,它们没有必须先修哪门的约束;有些课程则不
2020-07-06 15:50:28 373
原创 How Long Does It Take (25分)【C语言】AOE拓扑排序
目录题目:输入格式输出格式输入样例输出样例算法AOE拓扑排序代码实现AOE函数邻接矩阵存储的图习题讲解视频题目:Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project.输入格式Each input file contains one test case. Each case starts with a l
2020-07-06 12:30:28 210
原创 公路村村通 (30分)【C语言】Prim算法 和 Kruskal算法
目录题目:输入格式输出格式输入样例输出样例问题分析最小生成树的特点算法Prim算法代码实现Prim函数:小树变大的过程中记录fee(费用和)和count(已收集的边数)FindMinDistVertex函数:寻找距collected集合最近的结点其他函数:邻接矩阵基础操作方法二代码实现子函数:说明子函数:说明子函数:说明方法三代码实现子函数:说明子函数:说明子函数:说明习题讲解视频题目:现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本
2020-07-05 17:19:46 2348
原创 旅游规划 (25分)【C语言】Dijkstra算法
目录题目:输入格式输出格式输入样例输出样例算法Dijkstra算法代码实现Dijstra函数FindMinDistVertex函数:每次从dist中选择未收集到collected中的最小值minDist的结点其他函数习题讲解视频题目:有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式输入说明:输入数据的第1行给出4个正整数N、M
2020-07-05 11:04:21 663
原创 Saving James Bond - Hard Version (30分)【C语言】BFS和Dijkstra
目录题目:输入格式输出格式输入样例输出样例算法BFS代码实现ListComponent:把第一次可以跳上的结点,分别视为一个尝试集合Read函数:读入数据同时剔除无用数据ShortUnWeight (BFS)函数其他函数:Dijkstra代码实现Save007函数:把第一次可以跳上的结点,分别视为一个**尝试集合**子函数:说明子函数:说明方法三代码实现子函数:说明子函数:说明子函数:说明习题讲解视频题目:This time let us consider the situation in the m
2020-07-04 19:33:46 453
原创 哈利·波特的考试 (25分)【C语言】Floyd算法应用
目录题目:输入格式输出格式输入样例输出样例算法算法描述代码实现FindAnimal:构造数组array(下标对应图的行号,key值为该行最大值),然后选出array中的最小值,输出Floyd算法:在原图的基础上生成Floyd权值图邻接数组存储的图习题讲解视频题目:哈利·波特要考试了,他需要你的帮助。这门课学的是用魔咒将一种动物变成另一种动物的本事。例如将猫变成老鼠的魔咒是haha,将老鼠变成鱼的魔咒是hehe等等。反方向变化的魔咒就是简单地将原来的魔咒倒过来念,例如ahah可以将老鼠变成猫。另外,如果
2020-07-03 11:01:00 245
原创 六度空间 (30分)【C语言】
习题讲解视频目录题目:输入格式输出格式输入样例输出样例算法算法描述代码实现BFS:从V结点开始统计6层以内遍历到的结点数邻接表的基础操作题目:“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标
2020-07-02 20:55:12 1621 1
原创 Saving James Bond - Easy Version (25分)【C语言】二维数组实现
目录题目:输入格式输出格式输入样例输出样例算法算法描述代码实现ListComponent:遍历每个连通集,当得到答案时暂停子函数:说明子函数:说明方法二代码实现子函数:说明子函数:说明子函数:说明方法三代码实现子函数:说明子函数:说明子函数:说明习题讲解视频题目:This time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy,
2020-07-02 19:05:18 435
原创 列出连通集 (25分)【C语言】
题目:给定一个有N个顶点和E条边的无向图,请用DFS和BFS分别列出其所有的连通集。假设顶点从0到N−1编号。进行搜索时,假设我们总是从编号最小的顶点出发,按编号递增的顺序访问邻接点。输入格式输入第1行给出2个整数N(0<N≤10)和E,分别是图的顶点数和边数。随后E行,每行给出一条边的两个端点。每行中的数字之间用1空格分隔。输出格式按照"{ v1 v2 … vk }"的格式,每行输出一个连通集。先输出DFS的结果,再输出BFS的结果。输入样例8 60 70 12
2020-07-02 14:34:27 481
原创 图
讲解视频图定义抽象数据类型常用术语无向图、有向图连通 、路径、回路、连通图连通分量强连通、强连通图、强连通分量图的表示方法邻接矩阵简化表示优点缺点代码/* 图的邻接矩阵表示法 */#define MaxVertexNum 100 /* 最大顶点数设为100 */#define INFINITY 65535 /* ∞设为双字节无符号整数的最大值65535*/typedef int Vertex; /* 用顶点下标表示顶
2020-07-01 21:53:42 143
原创 Huffman Codes (30分)【C语言】(Huffman树的操作练习)
习题讲解视频题目:In 1953, David A. Huffman published his paper “A Method for the Construction of Minimum-Redundancy Codes”, and hence printed his name in the history of computer science. As a professor who gives the final exam problem on Huffman codes, I am enc
2020-06-29 15:57:29 419
原创 File Transfer (25分)【C语言】路径压缩
习题讲解视频题目:We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to any other?输入格式Each input
2020-06-27 16:38:40 304
原创 堆中的路径 (25分)【C语言】
习题讲解视频题目:将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例5 346 23 26 24
2020-06-27 14:07:39 376
原创 Complete Binary Search Tree (30分)【C语言】计算根结点位置 / 二叉搜索树中序遍历和完全二叉树性质
题目:A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:The left subtree of a node contains only nodes with keys less than the node’s key.The right subtree of a node contains only nodes with keys greater
2020-06-27 11:31:59 299 1
原创 Root of AVL Tree (25分)【C语言】
习题讲解视频题目:输入格式输出格式输入样例粘贴输出样例粘贴算法方法一关键算法代码实现int main(){ return 0;} 子函数:解释Recursion函数://将S和A数组分别根据第一个元素分为左序列和右序列从第二个元素开始,如果其小于首元素,i 指针直接后移;如果大于第一个元素,j 指针向后找到后续元素中第一个小于首元素的元素,然后将当前位置到 j 指针的元素都向后推移,然后将 j 指针所指元素填充到当前位置//检查当前排好序的两个数组是否相同
2020-06-26 20:08:30 336
原创 是否同一棵二叉搜索树 (25分)【C语言】/不建树/建2棵树/建1棵树
不建树整体思路每次通过第一个结点将序列分为左子树和右子树,然后递归左子树和右子树具体框架#include<stdio.h>int main(){ return 0;}
2020-06-25 17:12:39 458 1
原创 03-树3 Tree Traversals Again (25分)【C语言】
一、递归的基本格式递归函数(){ 边界条件; 一般条件; } 二、注意事项
2020-06-23 15:15:25 215
原创 树、二叉树、二叉搜索树、平衡二叉树、堆、哈夫曼树、集合
树的由来查找查找的定义及分类静态查找顺序查找(哨兵的使用技巧)二分查找(有序性、数组)二分查找的原理类似于下面的判定树,是否可以直接用判定树来存储数据(那样就可以满足 “插入”和“删除”的需求了)树的概念树的定义常用术语二叉树常见的二叉树类型三个重要性质抽象数据类型及操作集存储方式顺序存储链表存储遍历方式先序遍历先序遍历的非递归方法中序遍历中序遍历的非递归实现后序遍历层序遍历遍历的基本应用两种遍历序
2020-06-19 22:00:59 250
原创 05-树9 Huffman Codes (30分) 【C语言】
代码参考:https://blog.csdn.net/u011386173/article/details/95651745题目:05-树9 Huffman Codes (30分)算法分析最优编码要求:WPL值最小无歧义解码代码在这里插入代码片...
2020-04-08 16:50:48 211
原创 C语言 标准头文件(.h文件)
结构#ifndef _HEAD_#define _HEAD_#include "node.h"typedef struct _list{ Node*head; Node*tail;}List;#endif作用避免二次声明
2020-02-19 09:05:28 659
原创 C语言 位运算及在单片机上使用方法
位运算按位与 (&)定义:(X)i=1并且(Y)i=1,则(X&Y)=1,否则为0作用:使某一位或几位为0;取一个数中的一段#include<stdio.h>void _din(int number)//输出一个十进制数的二进制形式 { unsigned int mask=1u<<31; while(mask){ printf(...
2020-02-18 22:14:40 755
原创 C语言 文件打开
文件打开和编辑实例#include<stdio.h>#include<string.h>int _filesize(FILE*stream){ int len; fseek(stream,0L,2); //移动光标到文档尾部 len=ftell(stream); //返回光标距离文件头部的字节数 fseek(stream,0L,...
2020-02-18 16:54:00 240
原创 C语言 输出、输入格式控制、字符串输入和重定位
输出与输入格式控制输出格式控制输出格式:printf( % [flag] [width] [precision] [hIL] type)[hIL]#include<stdio.h>int main(){ printf("sizeof(char)=%ld\n",sizeof(char)); //sizeof(char)=1 =>256 printf("siz...
2020-02-18 15:23:10 480
原创 编译预处理
大程序的编译过程预处理编译汇编链接.c 项目源文件.i 替换头文件后的源文件.s 汇编语言.o 二进制机器语言.out 可执行文件一个 .c 文件称为一个编译单元一个项目中包含许多.c和.h文件预处理作用:将项目源文件 (.c文件) 中的预处理指令进行替换预处理指令宏(#define)#include#define(宏)定义:#define 名字 值...
2020-02-17 14:50:41 155
原创 C语言 全局变量与静态本地变量
全局变量定义全局变量:定义在函数外部的变量#include<stdio.h>int gA=10; //全局变量 void f(){ printf("f %d",gA); //f 10}int main(){ printf("main %d\n",gA);//main 10 f(); return 0;}初始化没有初始化的全局变量自动补...
2020-02-16 22:26:14 273
原创 排序
桶排序缺点:浪费空间#include<stdio.h>int main(){ int a[11]={0}; int n; scanf("%d",&n);//n为输入数的总个数 //6 int i; for(i=0;i<n;i++){ int x; scanf("%d",&x);//x范围1-10 a[...
2020-02-16 19:25:05 139
原创 Dev C++使用小技巧
快捷键中断运行程序(Windos) Ctrl+Z(Unix) Ctrl+Dgetchar()函数中断(Windos) Ctrl+C
2020-02-16 19:24:23 273
原创 C语言 链表、队列、栈
链表实例一问题:存入一连串整数遇到-1结束#include<stdio.h>#include<stdlib.h>//节点声明 typedef struct _node{ int value; struct _node *next;}Node;int main(){ Node *head=NULL;//节点头 int number; do...
2020-02-16 19:13:45 215
原创 C语言 函数的参数
C语言 函数的参数只是值(包括常值,地址值)传入 地址值 实例#include<stdio.h>void _test(int*q){ printf("1_test is q=%p\n",q); //1_test is q=000000000062FE14 *q=1; //改变a的值 q=NULL; printf("2_test is q=%p\n...
2020-02-16 13:33:24 434
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人