如果使用与
图相关的知识,设计算法来找出一段程序代码中:
(1)定义了但未被使用的变量;
(2)使用了但没有被定义的变量;
(3)其他与变量相关的错误
我的初步想法是:
1.定义一个变量类,
Class Var
{
属性: name,type,isInit(是否初始化),initVal(初始化值),isUsed(是否被使用过);
方法: 一些基本方法;
}
2.程序代码中每个声明的变量(new个Var),作为图的一个结点,用
邻接表来实现图。
3.对使用的每个变量,对图进行搜索(BFS或者DFS),来看是不是被定义过的。(根据Var的name和type判断)并改变isUsed属性。
4.再对图遍历次,根据Var的isUsed属性看是否有定义了但没被使用的变量。
5.可以增加些Var属性,来判断是否有重复定义,是否初始化错误之类的。(
解决问题3)
请教各位JE上的大虾们,可以从下面几个方面但不限于谈谈自己看法(不用说的太复杂,说说思想就行):
1.对我的想法做出评价
2.如果必须用图,有没有更好的实现办法
3.不考虑用图,有没有更好的解决办法.(考虑O(n))
4.具体的编译器是怎么实现的这些问题的
分享到:
相关推荐
(要是觉得这个不值这个分,说一下,我去你那里随便下一个 把分还你) 第1章 算法概述. 1.1 算法与程序 1.2 算法复杂性分析 习题1 第2章 递归与分治策略 2.1 递归的概念 2.2 分治法的基本思想 2.3 二分搜索技术 ...
6. 问题求解:习题还涉及了其他一些具体的算法设计问题,如使用stack容器取出栈顶到栈底的第k个元素,求解整数序列中相差最小的元素对个数,以及处理map容器中的重复value计数等。这些问题考查学生对数据结构和算法...
试设计一个算法,计算出从三角形 的顶至底的一条路径,使该路径经过的数字总和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 编程任务: 对于给定的由n 行数字组成的数字三角形,编程计算从三角形的顶至底的路径...
分治法是递归的一种应用模式,将一个问题分解成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。例如,快速排序和归并排序就是典型的分治算法。 接着,我们关注...
**算法设计与分析**是计算机科学中的核心课程之一,它主要关注如何有效地解决问题,并通过创建高效算法来实现这一目标。**华南理工**作为一所享有盛誉的高等学府,其在计算机科学教育方面有着深厚的底蕴,提供的**...
算法还应当能够处理有限集合的问题,比如判断一个整数集是否有和为m的子集,这涉及到集合的穷举,即元素个数和子集数量均为有限。 2. 最优解与近似解:在算法中,最优解指在所有可能的解中最佳的一个,例如金牌获得...
这个压缩包文件包含了她课程的相关资料,包括课件和作业答案,为学习者提供了一个全面理解算法设计与分析的资源库。 首先,我们要明白算法设计与分析是计算机科学中的核心课程,它涉及如何有效地解决问题和执行计算...
《算法设计与分析》是计算机科学领域的一本经典教材,主要涵盖了算法的设计方法、分析技巧以及实际应用。这本书由陈慧南编著的第三版,提供了全面且深入的算法学习资源,尤其对于学习者来说,课后习题的答案是深化...
综上所述,本书《计算机算法——设计与分析导论》通过介绍算法的基本概念、分析算法的方式、使用数学背景来描述算法性能,以及提供具体的算法实例,为读者提供了一个全面了解计算机算法设计与分析的框架。...
根据提供的文件内容,我们可以整理出以下IT知识点...通过上述知识点的整合,我们可以看出文档内容涵盖了算法设计与分析的多个重要方面,包括但不限于各类算法的定义、性质、应用、以及在特定问题下的时间复杂度分析等。
动态规划是书中重点讲解的一个概念,它常用于解决最优化问题,如背包问题、最长公共子序列等。课后答案会展示如何构建状态转移方程,以及如何通过填表法或自底向上的方式求解。 图算法部分包括了深度优先搜索(DFS...
在这个压缩包中,包含的是四套计算机算法设计与分析的期末试题及对应的答案,对于学习者来说,这是一个宝贵的复习资源。 1. **算法设计**:设计算法是解决问题的关键步骤,通常涉及数据结构的选择、问题分解和递归...
总的来说,《算法分析与设计》的课下习题答案是一个宝贵的资源,它提供了实践算法设计理论的机会,帮助学生从理论到实践的过渡,提高解决实际问题的能力。通过深入学习和反复练习,学生将能够熟练运用各种算法,为...
根据提供的文件内容,我们可以总结出以下关于《算法设计与分析》课程及其配套辅助教材的知识点: 1. 计算机算法设计与分析课程定位:该课程是一门面向设计的教育课程,居于计算机科学的核心地位。它主要教授计算机...
《计算机算法设计与分析》是计算机科学领域的一本经典教材,主要关注如何设计高效、合理的算法以及如何分析它们的性能。第四版的课后答案涵盖了从第一章到第九章的重要内容,这包括了基础的算法思想、数据结构以及...
贪心算法解决单源最短路径问题的基本思想是分步求出最短路径,每一步产生一个到达新目的顶点的最短路径。下一步所能达到的目的顶点通过贪婪准则选取,即选择路径最短的目的顶点。设置顶点集合S,并不断作贪心选择来...
《算法设计与分析基础》是Anany Levitin...总之,这本书的课后答案集是一份宝贵的资源,对于想要深入学习算法设计与分析的读者来说,它提供了一个自我检查和提升的平台,帮助读者在掌握理论的同时,提升实际应用技能。
其基本思想是将一个难以直接解决的大问题,分割成一些规模较小的相同问题,然后各个击破,分而治之。典型的分治算法有快速排序、归并排序和大数乘法等。在这些算法中,问题被分解为更小的子问题,直到子问题可以直接...
此外,可能还会涉及稳定性和原地排序的概念,这些都是评价一个排序算法优劣的重要标准。 第四章可能会涵盖图论算法,如最短路径问题(Dijkstra算法、Floyd-Warshall算法、Bellman-Ford算法)、最小生成树(Prim算法...
算法这个词对于非计算机从业人士而言,似乎就是晦涩、神秘的代名词。其实,算法在日常生活中随处可见。...通读全书,读者可以了解到计算机编程与算法的基本理念,也能对简单常用的算法有一个大概的理解。