自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python字典基础应用:制作一个披萨点餐流程

python字典的基础应用

2023-03-04 22:31:46 1160

原创 问题 C: 算法6-1~6-4:二叉链表存储的二叉树

时间限制:1 Sec内存限制:32 MB提交:1816解决:1117题目描述树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。对于每一个结点至多只有两棵子树的一类树,称其为二叉树。二叉树的链式存储结构是一类重要的数据结构,其形式定义如下:而二叉树的前序、中序遍历是非常重要的能够访问二叉树所有结点的算法,下面分别列出一种先序遍历和两种中序遍历的算法。第一种中序遍历的方法(算法6.3):第二种中序遍历的方法(算法6...

2021-07-02 15:43:55 1022

原创 问题 B: 算法3-4:表达式求值

时间限制:1 Sec内存限制:32 MB提交:833解决:569题目描述算数四则运算的规则是1)先乘除,后加减;2)从左算到右;3)先括号内,后括号外。由此,算式4+2*3-10/5的计算顺序为4+2*3-10/5=4+6-10/5=4+6-2=8。给定一个以“#”作为结束符的算式,求出算式的结果。给出严蔚敏《数据结构(C语言)》中的一段算法描述以作参考:图1:表达式求值算法图2:表达式求值算法(续)图3:表达式求值算法(续)...

2021-07-02 15:34:33 487

原创 问题 A: 算法3-7:银行排队

时间限制:1 Sec内存限制:32 MB提交:751解决:509题目描述我们大多都有在银行排队的经历,唉,那坑爹的排队啊!现在就让我们来算算我们这些客户平均需要等多久吧。每天刚开始时银行会开m个窗口来为我们total个客户办理业务,当有客户需要办理业务时,先选择可以办理业务的窗口,如果有多个窗口可以办理业务就选择空闲时间最长的窗口,如果有多个窗口空闲的时间一样长,则选择序号小的窗口办理业务。假设我们每个人来到的时间和办理业务所需要的时间(为了简化问题,采用整数表示时间)都知道...

2021-07-02 15:25:11 1609 1

原创 问题 A: 算法10-2:折半插入排序

问题 A: 算法10-2:折半插入排序时间限制:1 Sec内存限制:32 MB提交:3005解决:2237题目描述折半插入排序同样是一种非常简单的排序方法,它的基本操作是在一个已经排好序的有序表中进行查找和插入。不难发现这个查找的过程可以十分自然的修改成折半查找的方式进行实现。折半插入排序的算法可以描述如下:在本题中,读入一串整数,将其使用以上描述的折半插入排序的方法从小到大排序,并输出。输入输入的第一行包含1个正整数n,表示共有n个整数需要参与...

2021-07-02 07:42:56 294

原创 问题 B: 算法10-6~10-8:快速排序

时间限制:1 Sec内存限制:32 MB提交:4095解决:2233题目描述快速排序是对起泡排序的一种改进。它的基本思想是,通过一趟排序将待排序的记录分割成两个独立的部分,其中一部分记录的关键字均比另一部分的关键字小,在分成两个部分之后则可以分别对这两个部分继续进行排序,从而使整个序列有序。快速排序的算法可以描述如下:在本题中,读入一串整数,将其使用以上描述的快速排序的方法从小到大排序,并输出。输入输入的第一行包含1个正整数n,表示共有n个整数需...

2021-07-02 07:42:43 564

原创 问题 C: 算法10-12~10-14:归并排序

题目描述归并排序是基于归并操作完成的,而一次归并操作是通过两个或两个以上的有序表合并成一个新的有序表完成的。常见的归并排序是2-路归并排序,其核心操作是将一维数组中前后相邻的两个有序序列归并成一个有序序列。其算法可以描述如下:在本题中,读入一串整数,将其使用以上描述的2-路归并排序的方法从小到大排序,并输出。输入输入的第一行包含1个正整数n,表示共有n个整数需要参与排序。其中n不超过100000。第二行包含n个用空格隔开的正整数,表示n个需要排序的整数。输出只

2021-07-02 07:42:34 766

原创 问题 C: 算法9-5~9-8:二叉排序树的基本操作

时间限制:1 Sec内存限制:32 MB提交:667解决:410[提交][状态][讨论版]题目描述二叉排序树或者是一棵空树,或者是具有以下几条性质的二叉树:1.若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值;2.若它的右子树不空,则右子树上所有结点的值均大于它的根节点的值;3.它的左右子树也分别为二叉排序树。二叉排序树又可以被称为二叉查找树,根据上述定义的结构不难知道,它的查找过程十分简单,只需要通过不断的...

2021-07-02 07:41:47 719

原创 问题 B: 算法7-12:有向无环图的拓扑排序

时间限制:1 Sec内存限制:32 MB提交:410解决:253[提交][状态][讨论版]题目描述由某个集合上的一个偏序得到该集合上的一个全序,这个操作被称为拓扑排序。偏序和全序的定义分别如下:若集合X上的关系R是自反的、反对称的和传递的,则称R是集合X上的偏序关系。设R是集合X上的偏序,如果对每个x,y∈X必有xRy或yRx,则称R是集合X上的全序关系。由偏序定义得到拓扑有序的操作便是拓扑排序。拓扑排序的流程如下:1.在有向图中选一个没有前驱...

2021-07-02 07:41:25 345

原创 问题 A: 算法7-10,7-11:关节点和重连通分量

时间限制:1 Sec内存限制:32 MB提交:530解决:91[提交][状态][讨论版]题目描述假若在删去顶点v以及和v相关联的各边之后,将图的一个连通分量分割成两个或两个以上的连接分量,则称顶点v为该图的一个关节点。一个没有关节点的连通图称为重连通图。在重连通图上,任意一对顶点之间至少存在两条路径,则在删去某个顶点以及依附于该顶点的各边时也不会破坏图的连通性。利用深度优先搜索可以求出图的关节点,并由此可以判断图是否是重连通的。通过修改深度优先搜索遍历的算法便可以得到求...

2021-07-01 16:18:32 594 1

原创 问题 C: 算法6-5~6-7:线索二叉树

时间限制:1 Sec内存限制:32 MB提交:278解决:112[提交][状态][讨论版]题目描述在遍历二叉树的过程中,是按照一定的规则将二叉树中的结点排列成一个线性序列,从而得到二叉树中结点的先序序列或中序序列或后序序列。但是,当以二叉链表作为存储结构时,只能找到结点的左右孩子信息,而不能直接得到结点在任意一个序列中的前驱和后继的信息,而这种信息只有在遍历的动态过程中才能够得到。为了保存这种信息,就需要使用线索链表。其中指向结点的前驱和后继的指针,叫做线索。添加上线索的...

2021-07-01 16:12:31 270

原创 问题 B: 算法6-1~6-4:二叉链表存储的二叉树

时间限制:1 Sec内存限制:32 MB提交:1799解决:1104[提交][状态][讨论版]题目描述树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。对于每一个结点至多只有两棵子树的一类树,称其为二叉树。二叉树的链式存储结构是一类重要的数据结构,其形式定义如下:而二叉树的前序、中序遍历是非常重要的能够访问二叉树所有结点的算法,下面分别列出一种先序遍历和两种中序遍历的算法。第一种中序遍历的方法(算法6.3):第二...

2021-07-01 16:00:44 128

原创 问题 A: 算法4-5:求子串位置的定位函数

时间限制:1 Sec内存限制:32 MB提交:811解决:417[提交][状态][讨论版]题目描述在算法4-1中已经描述过一种定位子串的算法,但其依赖字符串的其他操作(使用了算法4-3描述的子串提取以及字符串比较)。下面给出书中另一种相对独立的定位子串算法:图:求子串位置的定位函数书中的算法思想是这样的:分别利用计数指针i和j指示主串S和模式串T中当前正待比较的字符位置。算法的基本思想是:从主串S的第pos个字符起和模式的第一个字符比较之,若相等,则继续逐个比...

2021-07-01 15:53:14 2407

原创 问题 C: 算法3-2:行编辑程序

时间限制:1 Sec内存限制:32 MB提交:2055解决:481[提交][状态][讨论版]题目描述 一个简单的行编辑程序的功能是:接收用户从终端输入的程序或数据,并存入用户的数据区。由于用户在终端上进行输入时,不能保证不出差错,因此,若在编辑程序中,“每接收一个字符即存入用户数据区”的做法显然不是很恰当。较好的做法是,设立一个输入缓冲区,用以接收用户输入的一行字符,然后逐行存入用户数据区。允许用户输入出差错,并在发现有误时可以及时更正。例如,当用户发现刚刚键入的一个字...

2021-07-01 11:52:10 259 1

原创 问题 B: 算法3-1:八进制数

时间限制:1 Sec内存限制:32 MB提交:918解决:522[提交][状态][讨论版]题目描述将十进制数转换为八进制,并输出。图:将十进制数转换为八进制并输出输入输入包含若干十进制正整数。输出输出相应的八进制数,每个占一行。样例输入1237891910020345样例输出123710112346162771提示提示:书上有相应的算法,需要补充缺失的函数。总结:1、数值转换使...

2021-07-01 11:48:23 175

原创 问题 A: 出栈合法性

时间限制:1 Sec内存限制:32 MB提交:1313解决:552[提交][状态][讨论版]题目描述已知自然数1,2,...,N(1<=N<=100)依次入栈,请问序列C1,C2,...,CN是否为合法的出栈序列。输入输入包含多组测试数据。每组测试数据的第一行为整数N(1<=N<=100),当N=0时,输入结束。第二行为N个正整数,以空格隔开,为出栈序列。输出对于每组输入,输出结果为一行字符串。如给出的序列是合法的出栈序列,则输出Ye...

2021-07-01 11:45:09 147

原创 问题 C: 算法2-18~2-19:双向循环链表

时间限制:1 Sec内存限制:32 MB提交:808解决:506[提交][状态][讨论版]题目描述双向链表是在结点中既保存了后一个结点指针又保存了前一个结点指针的链表。这种链表较单向链表而言能够快速查找某一结点的前后结点。下面给出双向链表的定义、插入以及删除算法描述。图1:双向链表示例(a)结点结构;(b)空的双向循环链表;(c)含有三个结点的双向循环链表图2:双向链表的定义以及创建双向链表在插入与删除时一定要注意其操作步骤的顺序。下面给出双向链表在插入...

2021-07-01 11:40:07 191

原创 问题 B: 算法2-13~2-16:静态链表

题目描述静态链表是使用顺序存储结构来实现的链表。严蔚敏《数据结构(C语言版)》在介绍静态链表时使用的是一个姓氏列表。图1是书本上的静态链表示例,图(a)是初始化后插入了8个姓氏的链表,图(b)是在第5个元素前插入了“SHI”而删除了“WANG”的结果。图1:静态链表示例(a)修改前的状态;(b)修改后的状态现在,我们就来实现一下这个静态链表。实际上静态链表与一般含有指针的链表没有太大的差别,只是静态链表的结点存放的空间不是在使用时临时分配的,而是在一开始就分配了固定的一些,一般是

2021-07-01 11:32:56 198

原创 问题 A: 算法2-8~2-11:链表的基本操作

时间限制:100 Sec内存限制:32 MB提交:1469解决:508[提交][状态][讨论版]题目描述链表是数据结构中一种最基本的数据结构,它是用链式存储结构实现的线性表。它较顺序表而言在插入和删除时不必移动其后的元素。现在给你一些整数,然后会频繁地插入和删除其中的某些元素,会在其中某些时候让你查找某个元素或者输出当前链表中所有的元素。下面给你基本的算法描述:图1:链表类型的定义以及获得链表元素的算法描述图2:链表的插入算法描述图3:链表的删...

2021-07-01 11:17:26 125

空空如也

空空如也

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

TA关注的人

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