自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 归并排序c语言

【代码】归并排序c语言。

2023-05-11 22:04:45 139

原创 选择排序c语言

【代码】选择排序c语言。

2023-05-11 10:40:39 123

原创 快速排序c语言

【代码】快速排序c语言。

2023-05-11 10:24:20 121

原创 大根堆的堆排序

【代码】大根堆的堆排序。

2023-05-10 20:59:19 92

原创 冒泡排序c语言

【代码】冒泡排序c语言。

2023-05-09 19:29:19 69 1

原创 折半插入排序

【代码】折半插入排序。

2023-05-09 19:06:19 40

原创 直接插入排序

【代码】直接插入排序。

2023-05-09 19:02:18 35

原创 希尔排序代码

【代码】希尔排序代码。

2023-05-09 11:20:53 33

原创 农夫过河-广度策略 pta

一个农夫带着一只狼、一只羊和一棵白菜,身处河的南岸。他要把这些东西全部运到北岸。遗憾的是他只有一只小船,小船只能容下他和一件物品。这里只能是农夫来撑船。同时因为狼吃羊,而羊吃白菜,所以农夫不能留下羊和狼或者羊和白菜单独在河的一边,自己离开。好在狼属于肉食动物,不吃白菜。农夫怎样才能把所有的东西安全运过河呢?为了表示每个物品的位置,采用二进制位来区分南岸和北岸,0表示在南岸,1表示在北岸。用四个二进制位XXXX分别表示农夫、狼、菜和羊四个物品所在的位置。例如1110表示农夫、狼和菜在北岸,菜在南岸。农夫过河

2022-06-11 16:04:30 599

原创 六度空间 pta

“六度空间”理论又称作“六度分隔(Six Degrees of Separation)”理论。这个理论可以通俗地阐述为:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过五个人你就能够认识任何一个陌生人。”如图1所示。图1 六度空间示意图“六度空间”理论虽然得到广泛的认同,并且正在得到越来越多的应用。但是数十年来,试图验证这个理论始终是许多社会学家努力追求的目标。然而由于历史的原因,这样的研究具有太大的局限性和困难。随着当代人的联络主要依赖于电话、短信、微信以及因特网上即时通信等工具,能够

2022-06-11 16:03:57 860

原创 迷宫-广度策略 pta

一个陷入迷宫的老鼠如何找到出口的问题。老鼠希望系统性地尝试所有的路径之后走出迷宫。如果它到达一个死胡同,将原路返回到上一个位置,尝试新的路径。在每个位置上老鼠可以向八个方向运动,顺序是从正东开始按照顺时针进行。无论离出口多远,它总是按照这样的顺序尝试,当到达一个死胡同之后,老鼠将进行“回溯”。迷宫只有一个入口,一个出口,设计程序要求输出迷宫的一条通路。迷宫采用二维存储结构表示,1表示障碍,0表示通路;要求如下: 1、实现队列的相关操作; 2、利用队列进行广度策略搜索算法输出路径;输入包括三部分: 第一个输入

2022-06-11 16:01:53 1072

原创 旅行售货员 回溯法 pta

某售货员要到若干城市去推销商品,已知各城市之间的路程(或旅费)。他要选定一条从驻地出发,经过每个城市一遍,最后回到驻地的路线,使总的路程(或总旅费)最小。第一行为城市数n下面n行n列给出一个完全有向图,如 i 行 j 列表示第 i 个城市到第 j 个城市的距离。一个数字,表示最短路程长度。输出样例:代码...

2022-06-11 16:01:17 534

原创 符号三角形 回溯法 pta

符号三角形的 第1行有n个由“+”和”-“组成的符号 ,以后每行符号比上行少1个,2个同号下面是”+“,2个异 号下面是”-“ 。计算有多少个不同的符号三角形,使其所含”+“ 和”-“ 的个数相同 。 n=7时的1个符号三角形如下:一个整数n(n...

2022-06-11 16:00:40 237

原创 子集和问题 回溯法 pta

给定n个不同的正整数集合w=(w1,w2,…,wn)和一个正数W,要求找出w的子集s,使该子集中所有元素的和为W。第一行输入n和W,第二行依次输入n个数。每行输出一个符合要求的子集。输出样例1:代码...

2022-06-11 16:00:04 902

原创 n皇后问题 回溯法 pta

会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将n个皇后放在棋盘上(有n× n个方格),使它们谁也不能被吃掉!这就是著名的n皇后问题。对于某个满足要求的n皇后的摆放方法,定义一个皇后串a与之对应,即a=b1b2...bn,其中bi为相应摆法中第i行皇后所处的列数.一个整数n,表示棋盘大小。输出所有满足要求的解,每行一个答案。最后输出一个数,表示一共有多少个解。输出样例:代码...

2022-06-11 15:59:30 455

原创 幂集(回溯法) pta

有一个含n个数的数组a,所有元素均不相同,设计一个算法求其所有子集(幂集)。例如:1 2 3的幂集{}、{3}、{2}、{2,3}、{1}、{1,3}、{1,2}、{1,2,3}第一行输入元素个数n,再依次输入n个数。输出子集数输出样例1:代码...

2022-06-11 15:58:26 1101

原创 全排列(回溯,字典序) pta

对于1~n这n个不同的数,按照一定的顺序把这n个数排列起来(每个数出现一次,且不重复, n

2022-06-11 15:57:52 658

原创 石子合并简化版 pta

将 n 堆石子排放在一条直线上,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数 n 及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做 n−1 次合并得分总和最小。输入第一行一个整数 n,表示有 n 堆石子(n.........

2022-06-11 15:57:02 844

原创 最优合并问题 pta

题目来源:王晓东《算法设计与分析》给定k 个排好序的序列, 用 2 路合并算法将这k 个序列合并成一个序列。假设所采用的 2 路合并算法合并 2 个长度分别为m和n的序列需要m+n-1 次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少。为了进行比较,还需要确定合并这个序列的最差合并顺序,使所需的总比较次数最多。第一行有 1 个正整数k,表示有 k个待合并序列。第二行有 k个正整数,表示 k个待合并序列的长度。输出最多比较次数和最少比较次数。在这里给出一组输入。例如:

2022-06-10 12:12:33 195

原创 田忌赛马 pta

首先回顾一下田忌赛马这个古老的故事:齐使者如梁,孙膑以刑徒阴见,说齐使。齐使以为奇,窃载与之齐。齐将田忌善而客待之。忌数与齐诸公子驰逐重射。孙子见其马足不甚相远,马有上、中、下辈。于是孙子谓田忌曰:“君弟重射,臣能令君胜。”田忌信然之,与王及诸公子逐射千金。及临质,孙子曰:“今以君之下驷与彼上驷,取君上驷与彼中驷,取君中驷与彼下驷。”既驰三辈毕,而田忌一不胜而再胜,卒得王千金。于是忌进孙子于威王。威王问兵法,遂以为师。现在的问题:田忌与齐王赛马,双方各有n匹马参赛(n...

2022-06-10 12:12:12 499

原创 删数问题 pta

有一个长度为n(n

2022-06-10 12:11:37 180

原创 哈夫曼树 pta

编写一个哈夫曼编码译码程序。针对一段文本,根据文本中字符出现频率构造哈夫曼树,给出每个字符的哈夫曼编码,并进行译码,计算编码前后文本大小。为确保构建的哈夫曼树唯一,本题做如下限定:输入为3行。第1行为一个字符串,包含不超过5000个字符,至少包含两个不同的字符,每个字符为a-z的小写字母。第2、3行为两个由0、1组成的字符串,表示待译码的哈夫曼编码。输出第一行为用空格间隔的2个整数,分别为压缩前后文本大小,以字节为单位,一个字符占1字节,8个二进制位占1字节,若压缩后文本不足8位,则按1字节算。输出从第二

2022-06-10 12:10:59 1016

原创 最小生成树MST(Kruskal‘s or Prim‘s Algorithm) pta

Kruskal's algorithm is an algorithm in graph theory that finds a minimum spanning tree for a connected undirected weighted graph.There are two numbers(n, m) in first line, n means how many points are there, and m means how many edges are there(n

2022-06-10 12:10:17 661

原创 选课(贪心) pta

小明是个好学的程序猿,他想在一天内尽可能多的选择课程进行学习。在下列课程中,他能选择的最多课程是几门?第一行为一个整数n,表示课程总数。接下来每行为x,y,z表示课程名,开始时间,结束时间。输出一个整数,表示小明最多可选的课程数。输出样例:在这里给出相应的输出。例如:代码...

2022-06-10 12:09:42 1898

原创 求解资源分配问题 pta

某公司有3个商店A、B、C,拟将新招聘的5名员工分配给这3个商店,各商店得到新员工后,每年的赢利情况如下表所示,求分配给各商店各多少员工才能使公司的赢利最大。第一行输入商店数m及员工人数n,再依次输入m+1行,每行为n+1个数,每个数(i,j)表示i商店分配j人赢利值0≤i≤m,0≤j≤n。输出前m行每行两个数,分别表示商店编号及分配人数,最后一行表示公司最大赢利。输出样例1:代码...

2022-06-10 12:08:06 75

原创 求解资源分配问题pta

某公司有3个商店A、B、C,拟将新招聘的5名员工分配给这3个商店,各商店得到新员工后,每年的赢利情况如下表所示,求分配给各商店各多少员工才能使公司的赢利最大。第一行输入商店数m及员工人数n,再依次输入m+1行,每行为n+1个数,每个数(i,j)表示i商店分配j人赢利值0≤i≤m,0≤j≤n。输出前m行每行两个数,分别表示商店编号及分配人数,最后一行表示公司最大赢利。输出样例1:代码...

2022-06-10 12:07:35 138

原创 求解资源分配问题pta

某公司有3个商店A、B、C,拟将新招聘的5名员工分配给这3个商店,各商店得到新员工后,每年的赢利情况如下表所示,求分配给各商店各多少员工才能使公司的赢利最大。第一行输入商店数m及员工人数n,再依次输入m+1行,每行为n+1个数,每个数(i,j)表示i商店分配j人赢利值0≤i≤m,0≤j≤n。输出前m行每行两个数,分别表示商店编号及分配人数,最后一行表示公司最大赢利。输出样例1:代码...

2022-06-10 12:07:01 109

原创 01背包问题 pta

有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。0......

2022-06-10 12:04:00 338

原创 最长公共子序列长度 pta

求两个字符串的最长公共子序列长度。输入长度≤100的两个字符串。输出两个字符串的最长公共子序列长度。输出样例1:输入样例2:输出样例2:代码

2022-06-08 10:30:04 392

原创 租用游艇问题 pta

题目来源:王晓东,《算法设计与分析》长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1...

2022-06-08 10:29:30 161 1

原创 数字三角形 pta

观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。第一个行包含R(1≤ R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100。单独的一行,包含那个可能得到的最大的和。输出样例:代码...

2022-06-08 10:28:52 158

原创 矩阵链相乘问题 pta

矩阵的乘法定义如下:设A是m×p的矩阵,B是p×n的矩阵,则A与B的乘积为m×n的矩阵,记作C=AB,其中,矩阵C中的第i行第j列元素cij​可以表示为:cij​=Σk=1p​aik​×bkj​=ai1​b1j​+ai2​b2j​+⋯+aip​bpj​.当多个矩阵相乘时,采用不同的计算顺序所需的乘法次数不相同。例如,A是50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵,计算ABC有两种方式:(AB)C和A(BC),前一种需要15000次乘法计算,后一种则只需3500次。设A1​,A2​,...,

2022-06-08 10:28:06 333

原创 找第k小的数 pta

设计一个平均时间为O(n)的算法,在n(1

2022-06-08 10:27:22 133

原创 插入排序还是归并排序 pta

根据维基百科的定义:插入排序是迭代算法,逐一获得输入数据,逐步产生有序的输出序列。每步迭代中,算法从输入序列中取出一元素,将之插入有序序列中正确的位置。如此迭代直到全部元素有序。归并排序进行如下迭代操作:首先将原始序列看成 N 个只包含 1 个元素的有序子序列,然后每次迭代归并两个相邻的有序子序列,直到最后只剩下 1 个有序的序列。现给定原始序列和由某排序算法产生的中间序列,请你判断该算法究竟是哪种排序算法?输入在第一行给出正整数 N (≤100);随后一行给出原始序列的 N 个整数;最后一行给出由某排序算

2022-06-08 10:26:44 250 1

原创 棋盘覆盖 pta

在一个2k∗2k(k为正整数,k

2022-06-08 10:25:57 387

原创 循环日程安排问题 pta

用分治法求解循环日程安排问题。设有n=2k个选手要进行网球循环赛,要求设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次。(2)每个选手一天只能赛一次。(3)循环赛在n-1天之内结束。输入K值。输出样例:输出比赛日程表。代码...

2022-06-08 10:25:00 1283

原创 全排列(分治) pta

用交换的分治法实现前m(m

2022-06-08 10:24:13 580

原创 最大公约数和最小公倍数 pta

本题要求两个给定正整数的最大公约数和最小公倍数。输入在一行中给出两个正整数M和N(≤1000)。在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1空格分隔。输出样例:代码...

2022-06-08 10:23:23 91

原创 找鞍点(Java)

一个矩阵元素的“鞍点”是指该位置上的元素值在该行上最大、在该列上最小。本题要求编写程序,求一个给定的n阶方阵的鞍点。输入格式:输入第一行给出一个正整数n(1≤n≤6)。随后n行,每行给出n个整数,其间以空格分隔。输出格式:输出在一行中按照“行下标 列下标”(下标从0开始)的格式输出鞍点的位置。如果鞍点不存在,则输出“NONE”。题目保证给出的矩阵至多存在一个鞍点。输入样例1:41 7 4 14 8 3 61 6 1 20 7 8 9输出样例1:2 1输

2022-05-26 15:48:59 1706

原创 矩阵运算(Java)

给定一个n×n的方阵,本题要求计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。副对角线为从矩阵的右上角至左下角的连线。输入格式:输入第一行给出正整数n(1<n≤10);随后n行,每行给出n个整数,其间以空格分隔。输出格式:在一行中给出该矩阵除副对角线、最后一列和最后一行以外的所有元素之和。输入样例:42 3 4 15 6 1 17 1 8 11 1 1 1输出样例:35代码import java.util.Scanner;publ

2022-05-26 15:47:20 333

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除