如果使用与
图相关的知识,设计算法来找出一段程序代码中:
(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.具体的编译器是怎么实现的这些问题的
分享到:
相关推荐
分治法是递归的一种应用模式,将一个问题分解成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。例如,快速排序和归并排序就是典型的分治算法。 接着,我们关注...
**算法设计与分析**是计算机科学中的核心课程之一,它主要关注如何有效地解决问题,并通过创建高效算法来实现这一目标。**华南理工**作为一所享有盛誉的高等学府,其在计算机科学教育方面有着深厚的底蕴,提供的**...
《王秋芬 算法设计与分析》是一本深入探讨算法设计与分析的教材,适合于计算机科学和技术、软件工程等相关专业的学生以及对算法感兴趣的读者。这本书全面讲解了算法设计的基本方法和分析技巧,旨在提升读者在面对...
《算法设计与分析》是计算机科学领域的一门核心课程,主要关注如何有效地解决问题,并通过算法的设计、实现和分析来优化计算过程。东北大学提供的这门课程涵盖了算法的基础理论和实践应用,旨在帮助学生掌握关键的...
算法还应当能够处理有限集合的问题,比如判断一个整数集是否有和为m的子集,这涉及到集合的穷举,即元素个数和子集数量均为有限。 2. 最优解与近似解:在算法中,最优解指在所有可能的解中最佳的一个,例如金牌获得...
算法设计与分析是计算机科学中一个重要的领域,涉及到解决问题的步骤、算法定义、算法的三要素、算法的属性、算法设计的质量指标、迭代法、分而治之法、贪婪法等知识点。本文将对这些知识点进行详细的解释和分析。 ...
1.2.3一个简单问题的求解过程 1.3现代常用算法概览* 1.3.1压缩算法 1.3.2加密算法 1.3.3人工智能算法 1.3.4并行算法 1.3.5其他实用算法 第2章算法分析基础 2.1算法分析体系及计量 2.1.1算法分析的评价体系 2.1.2算法...
通过在循环开始前设定一个不变量,并在循环的每次迭代过程中保持该不变量的真实性,最后通过不变量来证明算法的正确性。此方法在算法设计和分析中具有重要的作用。 ### 插入排序算法 插入排序是一种简单的排序算法...
算法设计与分析是计算机科学中一个非常重要的领域,它涉及到算法的设计、分析和实现。算法设计与分析的主要目标是设计和分析高效、可靠、可维护的算法。 在这里,我们讨论了 Maxsort 算法和冒泡排序算法这两种排序...
这个压缩包文件包含了她课程的相关资料,包括课件和作业答案,为学习者提供了一个全面理解算法设计与分析的资源库。 首先,我们要明白算法设计与分析是计算机科学中的核心课程,它涉及如何有效地解决问题和执行计算...
首先让我们来看一下分治算法。分治算法的核心在于“分而治之”。它将大问题通过某种方式分成若干个小问题,之后分别解决这些小问题,最后再将结果合并得到原问题的答案。分治算法的一个经典例子是快速排序算法,它...
实验一 处理器调度 一. 实验内容 选择一个调度算法,实现处理器调度。 二. 实验目的 在采用多道程序设计的系统中,...第—题:设计一个按优先数调度算法实现处理器调度的程序。 运行环境:Microsoft Visual Studio 2005
《算法设计与分析》是计算机科学领域的一本经典教材,主要涵盖了算法的设计方法、分析技巧以及实际应用。这本书由陈慧南编著的第三版,提供了全面且深入的算法学习资源,尤其对于学习者来说,课后习题的答案是深化...
动态规划是书中重点讲解的一个概念,它常用于解决最优化问题,如背包问题、最长公共子序列等。课后答案会展示如何构建状态转移方程,以及如何通过填表法或自底向上的方式求解。 图算法部分包括了深度优先搜索(DFS...
在这个压缩包中,包含的是四套计算机算法设计与分析的期末试题及对应的答案,对于学习者来说,这是一个宝贵的复习资源。 1. **算法设计**:设计算法是解决问题的关键步骤,通常涉及数据结构的选择、问题分解和递归...
根据提供的文件内容,我们可以总结出以下关于《算法设计与分析》课程及其配套辅助教材的知识点: 1. 计算机算法设计与分析课程定位:该课程是一门面向设计的教育课程,居于计算机科学的核心地位。它主要教授计算机...
王晓东教授的《计算机算法设计与分析》第四版,不仅是一本广受赞誉的教材,也是一本深入浅出的实用指南,它为学生和专业人士提供了一个全面的视角来理解和应用算法。这本书的第四版经过全面更新,旨在反映算法领域...
总的来说,《算法分析与设计》的课下习题答案是一个宝贵的资源,它提供了实践算法设计理论的机会,帮助学生从理论到实践的过渡,提高解决实际问题的能力。通过深入学习和反复练习,学生将能够熟练运用各种算法,为...
《算法设计》是由Erik D. Demaine和Jorge L. Orecchia合著的一本经典教材,原作者为...不论是对计算机科学专业的学生还是在职工程师,这本书都是一个极好的学习工具,可以帮助他们提升算法思维和问题解决能力。
《计算机算法设计与分析》是计算机科学领域的一本经典教材,尤其在第三版中,它深入探讨了如何设计和分析各种算法,以提高程序效率和解决问题的能力。算法是计算机科学的基石,它涉及到一系列用于解决特定问题的步骤...