//用循环链表解决魔术师发牌问题 //小甲鱼-数据结构视频-第20讲
1
这是一个古典问题。假设有n个修道士和n个野人准备渡河,但只有一条能容纳c人的小船,为了防止野人侵犯修道士,要求无论在何处,修道士的个数不得少于野人的人数(除非修道士个数为0)。如果两种人都会划船,试设计一个算法,确定他们能否渡过河去,若能,则给出一个小船来回次数最少的最佳方案。 要求: (1)用一个三元组(x1,x2,x3)表示渡河过程中各个状态。其中,x1表示起始岸上修道士个数,x2表示起始岸上野人个数,x3表示小船位置(0——在目的岸,1——在起始岸)。例如(2,1,1)表示起始岸上有两个修道士,一个野人,小船在起始岸一边。 (2)采用邻接表做为存储结构,将各种状态之间的迁移图保存下来。 (3)采用广度搜索法,得到首先搜索到的边数最少的一条通路。 (4)输出数据 若问题有解(能渡过河去),则输出一个最佳方案。用三元组表示渡河过程中的状态,并用箭头指出这些状态之间的迁移: 目的状态←…中间状态←…初始状态。 输出时,在状态迁移旁,说明渡河的动作和当前两岸的状态。 若问题无解,则给出“渡河失败”的信息。 (4)求出所有的解。
2022-12-07 22:59:22 10KB 传教士与野人问题-数据结构
1
这个事经典教材“算法导论” 第二版的习题答案(英文版)
2022-12-07 20:27:22 257KB 算法导论 习题 答案 mit
1
算法导论第二版课后习题答案完全版(中英文)(内部资料),这是学校导师给提供的,绝对全面!比以前网上的全面的多了,几乎完全!
1
数据结构笔记.one
2022-12-07 20:23:56 1.38MB
1
题目一 简单排序方法 【问题描述】 简单排序算法主要包括冒泡排序、简单选择排序和直接插入排序,它们都是时间复杂度为的排序方法,需要熟练掌握。 【基本要求】 用随机函数产生10000(或更多)个整数(或浮点数),保存在文件(intfile.dat / realfile.dat)中,然后将文件中的所有整数(或浮点数)读入一个数组A。 (1)用冒泡法对数组A排序; (2)用简单选择排序方法对数组A排序; (3)用直接插入排序法对数组A排序; 将上述排序算法分别用函数实现,观察每种排序过程中元素的比较次数、交换(或移动)次数,以及排序过程所消耗的时间(以s或ms为单位)。
2022-12-07 19:40:20 3KB C语言 数据结构
1
用随机函数产生10000(或更多)个整数(或浮点数),保存在文件(intfile.dat / realfile.dat)中,然后将文件中的所有整数(或浮点数)读入一个数组A。 用快速排序算法对上述数组A中的数据进行排序,输出排序过程中元素的比较次数、交换(移动)次数,以及排序过程所消耗的时间(以s或ms为单位)。观察数组A中元素分别是随机排列、正序、逆序时的运行时间差异。
2022-12-07 19:35:41 2KB 数据结构 c语言
1
python数组 1. 概念:有序的可变的元素集合 2. 列表的定义方式: - 方式1: [元素1,元素2,.....] num = [1 , 2 , “a” , True] - 方式2:列表生成式 列表推导式 - 列表生成式 - 语法:range(stop) [0,1,2,...,stop-1] - 语法:range(start,stop,step=1) - 列表推导式 - 语法:[表达式 for 变量 in 列表 ] - 语法:[表达式 for 变量 in 列表 if 条件] - 注意: - 列表中的元素可以还是列表 - 和其他语言中的数组有区别,其他语言的数组只能存放同一类型的元素
2022-12-07 14:27:05 9KB python 数据结构
1
模式识别与机器学习PRML 习题答案
2022-12-07 11:56:20 1.5MB 机器学习 人工智能
1
用C语言写了一个简单的学生信息系统,对初学者或者学生的课程设计有帮助。
2022-12-07 10:43:44 81KB C语言 学生信息 管理系统 数据结构
1