随笔分类 - 算法与数据结构
摘要:农夫要修理牧场的一段栅栏,他测量了栅栏,发现需要N块木头,每块木头长度为整数Li个长度单位,于是他购买了一条很长的、能锯成N块的木头,即该木头的长度是Li的总和。 但是农夫自己没有锯子,请人锯木的酬金跟这段木头的长度成正比。为简单起见,不妨就设酬金等于所锯木头的长度。例如,要将长度为20的木头锯成长
阅读全文
摘要:堆栈是一种经典的后进先出的线性结构,相关的操作主要有“入栈”(在堆栈顶插入一个元素)和“出栈”(将栈顶元素返回并从堆栈中删除)。本题要求你实现另一个附加的操作:“取中值”——即返回所有堆栈中元素键值的中值。给定 N 个元素,如果 N 是偶数,则中值定义为第 N/2 小元;若是奇数,则为第 (N+1)
阅读全文
摘要:消息队列是Windows系统的基础。对于每个进程,系统维护一个消息队列。如果在进程中有特定事件发生,如点击鼠标、文字改变等,系统将把这个消息加到队列当中。同时,如果队列不是空的,这一进程循环地从队列中按照优先级获取消息。请注意优先级值低意味着优先级高。请编辑程序模拟消息队列,将消息加到队列中以及从队
阅读全文
摘要:给定一段文字,如果我们统计出字母出现的频率,是可以根据哈夫曼算法给出一套编码,使得用此编码压缩原文可以得到最短的编码总长。然而哈夫曼编码并不是唯一的。例如对字符串"aaaxuaxz",容易得到字母 'a'、'x'、'u'、'z' 的出现频率对应为 4、2、1、1。我们可以设计编码 {'a'=0, '
阅读全文
摘要:本题要求实现函数,判断给定二叉树是否二叉搜索树。 函数接口定义: bool IsBST ( BinTree T ); 其中BinTree结构定义如下: typedef struct TNode *Position; typedef Position BinTree; struct TNode{ El
阅读全文
摘要:7-1 目录树 分数 25 作者 DS课程组 单位 浙江大学 在ZIP归档文件中,保留着所有压缩文件和目录的相对路径和名称。当使用WinZIP等GUI软件打开ZIP归档文件时,可以从这些信息中重建目录的树状结构。请编写程序实现目录的树状结构的重建工作。 输入格式: 输入首先给出正整数N(≤10*4
阅读全文
摘要:7-1 PAT排名汇总 计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计实现能力,科学的评价计算机程序设计人才,为企业选拔人才提供参考标准(网址http://www.patest.cn)。
阅读全文
摘要:★实验任务 最近 silchen又发现了一个关于圆的有趣的问题:在圆上有 2n 个不同的点,按顺序排列,n=2的时候如图: silchen用 m 条线段把这些点连接了起来(每个点保证只连一条线段),现在他想知道这样的连接这些线段是否相交,如果不相交输出“YES”,相交输出“NO”。 ★数据输入 第一
阅读全文
摘要:★实验任务 一天,小L 突然对列车的进出站问题产生了兴趣,如下图所示: 列车只能从A 进站,或从B 出站。 列车从A 进站,进站顺序为 1, 2, 3, 4, 5 列车从B 出站,出站顺序为 5, 4, 3, 2, 1 现在,小L 想知道: 列车从A 进站,进站顺序为 1~n 列车从B 出站,给定出
阅读全文
摘要:火车站的列车调度铁轨的结构如下图所示。 两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入。如果要求它们必须按序
阅读全文
摘要:给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转。例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1→6→5→4;如果 K=4,则应该得到 4→3→2→1→5→6。 函数接口定义: void K_Reverse( List L, int K
阅读全文
摘要:下列代码的功能是返回带头结点的单链表L的逆转链表。 List Reverse( List L ) { Position Old_head, New_head, Temp; New_head = NULL; Old_head = L->Next; while ( Old_head ) { Temp =
阅读全文
摘要:★实验任务 YZF 有一个序列 A,由 n 个整数组成。 我们将子段 A 称为 Ai、Ai +1、Ai+ 2、…Aj(1<=i<=j=n)表示 A 的子段。 你的任务是找到 A 的最长的子段,这样就可以从子段最多改变一个数(可改变为任一个整数),使子段严格地增加。 输出找到的最长子段的长度即可。 ★
阅读全文
摘要:★实验任务 n 个人排成一列,每个人都有自己的编号 ai(随机生成)。 有 q 次操作,假设当前还有 m 个人,那么这次操作将会筛除从头开始数第 k*bi 的人(k=1,2,3,……,m/bi 向下取整),bi 为第 i 个操作的数,且 bi 为素数。 这 q 次操作做完之后,剩下的人为幸运儿,输出
阅读全文
摘要:★实验任务 杰哥特别喜欢和数字打交道,现在他有一个正整数 N,他想知道有多少个满足要求的正整数 D 存在,要求是 D 是 N 的因子,并且 D 和 N 至少有一位相同。 ★数据输入 只有一行,一个正整数 N。(N<=1000000000)。 对于 30%的数据,N<=100 对于 50%的数据,N<
阅读全文
摘要:★实验任务 dark di 在做数学题目的时候发现了一个现象,2 个相邻的素数之间存在一个区间,他把这个区间称为非素数区间,那么 darkdi 想知道,给定一个正整数x,x 所在的非素数区间长度是多少呢? 例如 23 和 29 是 2 个相邻的素数,他们之间的非素数区间是[24,28],长度是 5,
阅读全文
浙公网安备 33010602011771号