目录
81、最优二叉树的概念
82、二叉树的遍历操作
83、图的概念
84、图的遍历特点
85、算法特性
86、常见算法策略
87、常见的对算法执行所需时间的度量
88、常见排序算法对比
89、常见排序算法适用常见对比1
90、编译与解释的区别
91、编译过程
92、文法和正规式
93、传值调用和引用调用
94、常见的程序设计语言
95、保护范围和保护对象
96、保护期限
97、知识产权人确定-职务作品判定
98、知识产权人确定-其他
99、侵权判断的特殊要求
100、典型的合理引用和侵权行为
81、最优二叉树的概念
最优二叉树:又称为哈夫曼树,它是一类带权路径长度最短的树。
路径是从树中一个结点到另一个结点之间的通路,路径上的分支数目称为路径长度。
树的路径长度是从树根到每一个叶子之间的路径长度之和。结点的带权路径长度为从该结点到树根之间的路径长度与该结点权值的乘积。
树的带权路径长度为树中所有叶子结点的带权路径长度之和。
82、二叉树的遍历操作
前序遍历:又称为先序遍历,按根→左→右的顺序进行遍历。
后序遍历:按左→右→根的顺序进行遍历。
中序遍历:按左→根→右的顺序进行遍历。
层次遍历:按层次顺序进行遍历。
83、图的概念
完全图
在无向图中,若每对顶点之间都有一条边相连,则称该图为完全图(complete graph)。
在有向图中,若每对顶点之间都有二条有向边相互连接,则称该图为完全图。
强连通图:在有向图中,对于每一对顶点,从顶点vi到顶点和从顶点vj可到顶点vi都存在路径,则称为强连通图。
84、图的遍历特点
深度优先遍历:
当以邻接矩阵作为存储结构时,深度优先搜索遍历图的时间复杂度为O(
85、算法特性
有穷性:执行有旁步之后结束,且每一步都可在有穷时间内完成。
确定性:算法中每一条指令都必须有确切的含义,不能含糊不清。
输入(>=0)
输出(>=1)
有效性(可行性):算法的每个步骤都能有效执行并能在执行有限次后得到确定的结果,例如a=0,b/a就无效。
86、常见算法策略
87、常见的对算法执行所需时间的度量
88、常见排序算法对比
快速排序算法(题干要求:非递减排序,以最后一个元素为基准元素)。
进行一趟划分的计算时间为O(n)。排序过程:基准元素与另一端待排第一个元素进行比较,满足非递减,不需要交换;不满足非递减,交换位置。
89、常见排序算法适用常见对比1
若待排序列的记录数目n较小,可采用直接插入排序和简单选择排序,由于直接插入排序所需的记录移动操作较简单选择排序多,因而当记录本身信息量大时,用简单选择排序方法较好。
若待排记录按关键字基本有序,宜采用直接插入排序或冒泡排序。当n很大且关键字位数较少时,采用基数排序较好。
若n很大,则应采用时间复杂度为O(nlog2n)的排序方法,例如快速排序、堆排序或归并排序:
快速排序目前被认为是内部排序中最好的方法,当待排序的关键字为随机分布时,快速排序的平均运行时间最短;
堆排序只需要一个辅助空间,并且不会出现在快速排序中可能出现的最快情况。
快速排序和堆排序都是不稳定的排序方法,若要求排序稳定,可选择归并排序。
90、编译与解释的区别
编译方式下机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,因此执行时效率较高;
解释方式下解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,边解释边执行,执行效率较低。
即:解释方式,翻译程序不生成独立的目标程序,而编译方式则生成独立保持的目标程序。
91、编译过程
符 表
符 表的作用是记录源程序中各个符 的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符 表进行快速有效地查找、插入、修改和删除等操作,符 表的存在可以贯穿编译所有阶段。
错误管理
词法分析处理:非法字符、单词拼写错误等。
静态错误:编译时所发现的程序错误,分为语法错误和静态语义错误
语法错误包含:单词拼写错误、标点符 错误、表达式中缺少操作数、括 不匹配等有关语言结构上的错误。
语法指导翻译是一种静态语义分析法。
静态语义分析:运算符与运算对象类型不合法等错误。(语义分析阶段)
动态错误:发生程序运行时,也叫动态语义错误。包括死循环、变量取零时做除数、引用数组元素下标越界等错误。(目标代码生成,执行阶段)
92、文法和正规式
一般的程序设计语言属于上下文无关文法。
正规文法,表示的语言集合是正规集,正规集的规律可以用正规式表示。
93、传值调用和引用调用
94、常见的程序设计语言
Fortran语言(第一个高级程序设计语言,科学计算,执行效率高)
Pascal语言(结构化程序设计语言,表达能力强,Delphi)
C语言(通用、结构化程序设计语言,指针操作能力强,高效)
Lisp语言(函数式程序语言,符 处理,人工智能)
C++语言(C语言基础上增加了类机制,面向对象,高效,与C兼容)
Java语言(面向对象,中间代码,跨平台,通用的程序设计语言)采用即时编译、对象在堆空间分配、自动的垃圾回收处理。
Python(面向对象,解释型程序设计语言,胶水语言,通用的脚本语言)
PHP(服务器端脚本语言,制作动态 页)
Ruby(简单快捷、面向对象、脚本语言)
Delphi(快速应用程序开发工具,可视化编程环境)
COBOL (数据处理领域最为广泛的程序设计语言,高级编程语言)
XML(可扩展标记语言,标准通用标记语言的子集)
PROLOG (逻辑式语言,间接性,表达能力强,建造专家系统、数据库、自然语言理解智能知识库等)
注:C/C++常被用于操作系统开发;脚本语言是解释性语言。
95、保护范围和保护对象
96、保护期限
97、知识产权人确定-职务作品判定
98、知识产权人确定-其他
99、侵权判断的特殊要求
中国公民、法人或者其他组织的作品,不论是否发表,都享有著作权。
开发软件所用的思想、处理过程、操作方法或者数学概念不受保护。
著作权法不适用于下列情形:
法律、法规,国家机关的决议、决定、命令和其他具有立法、行政、司法性质的文件,及其官方正式译文;
时事新闻;
历法、通用数表、通用表格和公式。
100、典型的合理引用和侵权行为
不侵权 | 侵权 |
---|---|
个人学习、研究或者欣赏; 适当引用; 公开演讲内容 用于教学或科学研究 复制馆藏作品; 免费表演他人作品; 室外公共场所艺术品临摹、绘画、摄影、录像; 将汉语作品译成少数民族语言作品或盲文出版。 |
未经许可,发表他人作品; 未参加创作,在他人作品署名: 歪曲、篡改他人作品的; 剽窃他人作品的; 使用他人作品,未付 酬; 未经出版者许可,使用其出版的图书、期刊的版式设计的。 |
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!