范文一:算法的特性
1. 算法的特性:有穷性;确定性;可行性;有零个或多个输入;有一个或多个输出。
2. 结构化程序:顺序结构;选择结构;循环结构。
3. 程序包括:算法和数据结构。
4. 语言包括:机器语言;汇编语言;高级语言。
5. 程序设计原则:自顶而下、逐步细化、基本结构、组合而成。清晰第一、效率第二。书写规范、缩进格式。
6. 快捷方式:F10=激活菜单;F9=编译;CTRL+F9=联接;CTRL+F5=看结果;CTRL+S=退出。
7. VC++6.0安装步骤:安装并启动VC++6.0;WIN.
8. C 语言的构成和编写格式:命令行、主函数、函数体(定义行和执行行)、输出。
9. C 程序是有一个或多个函数组成。一个程序有且只有一个MAIN 函数。
10. 在C 语言中,许多符号的命名都必
须遵守一定的规则,按此规则命名的符号称为标示符。它的命名规则:标识符可以有字母、数字和下划线组成,并且第一个字符必须为字母或下划线。
11. 标识符分为:关键字、预定义标识符、用户标识符。C 语言已经预先规定了一批标识符,它们在程序中都代表着固定的含义,不能另作他用,这些标识符成为关键字。预定义标识符:在C 语言中预先定义并具有特定含义的标识符。有用户根据需要定义的标识符为用户标识符。
12. 常量是指在程序运行过程中,其值不能被改变的量。常量分为:整型常量、实型常量、字符常量、和字符串常量。整型常量分为短整型常量和长整型常量。整型常量和实型常量又称数值型常量。它们有正值和负值的区分。基本阵型常量值用数字表示,不带小数点,实型常量必须用带小数点的数表示。
13. 在C 语言程序中,可以用一个符号名来代表一个常量,称为符号常量。
14. 变量是指在程序运行过程中其值可以改变的量。C 语言规定,程序中所有变量都必须限定以后使用。
15. 八进制数也是用一串连续的数字表示,但其开头必须是数字“0”。十六进制数用数字0和字母X 开头。
16. 整型变量可以分为基本型、短整型、长整型、和无符号型。
17. C 语言规定,可以在定义变量的同时给变量付初值。
18. 无符号常量不能表示成小于0的负数。
19. 把一个字节中的最右边一位称为最低位,最左边一位称为最高位。对于一个有符号整数,其中最高位用来存放整数的符号,称为符号位。
20. 小数形式表示的实型常量必须要有小数点。字母E 或e 之前必须要有数字,且E 或e 后面的指数必须为正数。在字母E 或e 的前后以及数字之间不
得插入空格。
范文二:算法的五个主要特性
导读:就爱阅读网友为您分享以下“算法的五个主要特性”资讯,希望对您有所帮助,感谢您对92to.com的支持!
一、 算法的五个主要特性:?有穷性?确定性?可行性?输入?输出 二、三、 算法复杂度(时间)数据结构(逻辑结构)(空间)(存储结构) (数据的操作)
四、 存储器映射方法:1、顺序映射2、链式映射(经常增删节点的复杂
五、 数据数据元素的结构:集合、线性结构、树形结构、图状结构)3. 索引映射(存储效率不高,常用方法)4散列映射
六、 队列:限定了插入和删除操作的线性表
八、树、?有且仅有一个特定的称为根的节点?当n1时其余节点可分为m (m0)个互不橡胶的有限级T1.T2…….Tm 其中每一个集合本身是一棵树,称为子树。九、二叉树的存储结构?顺序存储结构?链式存储结构
十、算法通常由两种基本要素构成?对数据对象的运算和操作?算法的控制结构十一、算法:对某个问题处理方案的
1
正确而完整的描述称为算法 十二、数据结构:互相之间存在着一种或多种关系的数据元素的集合 十三、完全二叉树:除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干缺点。
十四、二叉树?在二叉树的第i 层至多有( )个节点(I=1)?深度为k 节点数为的二叉树至多有(n1,度为2 的节点数为 )个节点?对任何一个二叉树n2,则n1=n2+1 ?具有T1n ,如果其终端个结点的完全二叉树的深度为k+1其中k 是( )的整数部分
十五、度为十六、如果对一棵有0的结点(叶子节点)总是比度为n 个结点的完全二叉树的结点按层序编号,则对任2的结点多一个。
一结点i (1=I=n)有:?如果i=1,则结点i 是二叉树的根,无双亲;如果i 无左孩子,否则其左孩子是节点i1,则其双亲是节点k ,其中k 2i 是?如果i/2的整数部分?如果2i+1n 则节点i 2in,无右孩子,则节点否则其右孩子是节点2i+1
十七、遍历:前序遍历;根左 右 根 左 右 中序遍历; 左 根 右 后序遍历;十八、程序设计:指设计,编制,调试程序的方法和过程。
十九、程序设计风格:指编写程序时所表现出的特点、习惯和逻辑思路二十、消息机制统一了数据流和控制流 二十一、结构化程序设计方法得重要原则是:自顶向下,逐步求
2
精,模块化,限制使用二十二、顺序结构,选择结构,重复结构共同特征:严格的只有一个入goto 语句
口和一个出口
二十三、对象的特点:?标示唯一性?分类性?多态性?封装性?模块独立性好 二十四、面向对象设计方法的基本特征:封装,多态,继承
二十五、计算机软件的构成二十六、计算机软件的定义:与计算机系统操作有关的计算机程序规则,; 程序、数据、及相关文档
以及可能有的文件文档及数据。
二十七、软件分类:系统软件、应用软件、支撑软件二十八、软件危机表现在:?软件需求的增长得不到满足?软件开发成
本和进度无法控制?软件质量难以保证?软件不可维护和维护程度非常低?软件成本不断提高?软件开发效率的提高赶不上硬件的发展和应用需求的增长。
二十九、软件工程:应用与计算机软件的定义、开发、和维护的一整套方法、工具、文档、实践标准和工序。三十、软件工程的要素?方法?工具?过程 三十一、软件开发技术:主要有软件开发方法学、软件工具、软件工程坏境三十二、软件工程管理:主要有软件管理,软件工程经济学 三十三、软件生命周期的的三个时期:?软件定义期?软件开
3
发期?软件维护期三十四、软件生命周期各阶段的主要任务:?问题定义?可行性研究与
计划制定?需求分析?软件设计?软件实现?软件测试?运行维护 三十五、系统的逻辑模块:数据流图和数据字典三十六、软件需求规格说明书的作用:?便于用户,开发人员进行理解
和交流?反映出用户问题的结构,可以作为软件开发工作的基础和依据?作为确认测试和验收的依据三十七、软件需求规格说明书的特点:?正确性?无歧义性?完整性?
可验证性?一致性?可理解性?课修改性?可追踪性
三十八、要设计和详细设计软件设计:} 1)结构设计2)数据设计3) 接口设计4)过程设计{概三十九、软件设计的重要性和低位:1)软件开发阶段(设计、编码,测试)占软件项目开发总成本的绝大部分,是在软件开发中形成质量的关键环节2)软件设计是开发阶段最重要的步骤,是将需求准确的转化为完整的软件产品或系统的唯一途径;3)软件设计做出的决策,最终影响软件实现的成败四十、软件设计的基本原理:4)设计是软件工程和软件维护的基础1)抽象2)模块化3)信息隐藏 4)模块独立性 四十一、优秀设计:高内聚,低耦合。四十二、软件概要设计的基本任务:
1) 设计软件系统的结构2)数据结构及数据库设计3)编写概要设计文四十三、数据流图的两种典型结构形式:档4)
4
概要设计文档评审 1)变换型和事务性 四十四、程序流图构成的控制结构:1)顺序型2)选择型3)先判断重复姓四十五、软件测试的目的:4)后判断重复型5)多分支选择型1)测试是为了发现程序的错误而执行程序的
过程2)好的测试用例很可能发现迄今为止尚未发现的错误3)一次成功的测试是指发现了至今为止尚未发现的错误四十六、软件测试:暴露错误,评价可靠性
四十七、软件调试、发现错误的位置,并改正错误 四十八、白盒测试又称为结构测试或逻辑驱动测试四十九、白盒测试的基本原则:1)保证所测模块中每一个独立路径至少
执行一次2)保证所测试模块所有判断的每一个分支至少执行一次3)保证所测模块的每一个循环都在边界条件和一般条件下至少执行一次证所有内部数据结构的有效性 4)验五十、白盒测试主要有(逻辑覆盖和基本路径测试)
五十一、黑盒测试:工能测试或数据驱动测试着重测试软件功能五十二、黑盒测试方法和技术有:1)等价类划分法2)边界值分析法 3)错误推测法 五十三、软件测试实施过程的确认测试和系统测试 4个步骤:1)单元测试2)集成测试3)五十四、软件调试的目的:改正错误 五十五、软件调试的任务、诊断和改正程序中的错误。五十六、某学生的记录由学号void fun(STREC *a) { int i; a-ave=0.0;
for(i=0;iN;i++) a-ave/=N; a-ave=a-ave+a-s[i];
5
五十七、N 名学生的成绩已在主函数中放入一个带头结点
double fun( STREC *h { ) double ave=0.0; STREC *p=h-next; while(p!=NULL)
{ ave=ave+p-s; } p=p-next; return ave/N; } 五十八、int fun(char *ss, char c) { int i=0; for(;*ss!=?\0?;ss++) if(*ss==c) return i; i++;/*求出ss 所指字符串中指定字符的个数*/ }
百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网
92to.com,您的在线图书馆
6
范文三:算法的五个主要特性
一、 算法的五个主要特性:①有穷性②确定性③可行性④输入⑤输出 二、三、 算法复杂度(时间)数据结构(逻辑结构)(空间)(存储结构) (数据的操作)
四、 存储器映射方法:1、顺序映射2、链式映射(经常增删节点的复杂
五、 数据数据元素的结构:集合、线性结构、树形结构、图状结构)3.索引映射(存储效率不高,常用方法)4散列映射
六、 队列:限定了插入和删除操作的线性表
八、树、①有且仅有一个特定的称为根的节点②当n>1时其余节点可分为m(m>0)个互不橡胶的有限级T1.T2…….Tm其中每一个集合本身是一棵树,称为子树。九、二叉树的存储结构①顺序存储结构②链式存储结构
十、算法通常由两种基本要素构成①对数据对象的运算和操作②算法的控制结构十一、算法:对某个问题处理方案的正确而完整的描述称为算法 十二、数据结构:互相之间存在着一种或多种关系的数据元素的集合 十三、完全二叉树:除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干缺点。
十四、二叉树①在二叉树的第i层至多有( )个节点(I>=1)②深度为k节点数为的二叉树至多有(n1,度为2 的节点数为 )个节点③对任何一个二叉树n2,则n1=n2+1 ④具有T1n,如果其终端个结点的完全二叉树的深度为k+1其中k是( )的整数部分
十五、度为十六、如果对一棵有0的结点(叶子节点)总是比度为n个结点的完全二叉树的结点按层序编号,则对任2的结点多一个。
一结点i(1<><=n)有:①如果i=1,则结点i是二叉树的根,无双亲;如果i无左孩子,否则其左孩子是节点i>1,则其双亲是节点k,其中k2i是③如果i/2的整数部分②如果2i+1>n 则节点i2i>n,无右孩子,则节点否则其右孩子是节点2i+1
十七、遍历:前序遍历;根左 右 根 左 右 中序遍历; 左 根 右 后序遍历;十八、程序设计:指设计,编制,调试程序的方法和过程。
十九、程序设计风格:指编写程序时所表现出的特点、习惯和逻辑思路二十、消息机制统一了数据流和控制流 二十一、结构化程序设计方法得重要原则是:自顶向下,逐步求精,模块化,限制使用二十二、顺序结构,选择结构,重复结构共同特征:严格的只有一个入goto语句
口和一个出口
二十三、对象的特点:①标示唯一性②分类性③多态性④封装性⑤模块独立性好 二十四、面向对象设计方法的基本特征:封装,多态,继承
二十五、计算机软件的构成二十六、计算机软件的定义:与计算机系统操作有关的计算机程序规则,;程序、数据、及相关文档
以及可能有的文件文档及数据。
二十七、软件分类:系统软件、应用软件、支撑软件二十八、软件危机表现在:①软件需求的增长得不到满足②软件开发成
本和进度无法控制③软件质量难以保证④软件不可维护和维护程度非常低⑤软件成本不断提高⑥软件开发效率的提高赶不上硬件的发展和应用需求的增长。
二十九、软件工程:应用与计算机软件的定义、开发、和维护的一整套方法、工具、文档、实践标准和工序。三十、软件工程的要素①方法②工具③过程 三十一、软件开发技术:主要有软件开发方法学、软件工具、软件工程坏境三十二、软件工程管理:主要有软件管理,软件工程经济学 三十三、软件生命周期的的三个时期:①软件定义期②软件开发期③软件维护期三十四、软件生命周期各阶段的主要任务:①问题定义②可行性研究与
计划制定③需求分析④软件设计⑤软件实现⑥软件测试⑦运行维护 三十五、系统的逻辑模块:数据流图和数据字典三十六、软件需求规格说明书的作用:①便于用户,开发人员进行理解
和交流②反映出用户问题的结构,可以作为软件开发工作的基础和依据③作为确认测试和验收的依据三十七、软件需求规格说明书的特点:①正确性②无歧义性③完整性④
可验证性⑤一致性⑥可理解性⑦课修改性⑧可追踪性
三十八、要设计和详细设计软件设计:} 1)结构设计2)数据设计3)接口设计4)过程设计{概三十九、软件设计的重要性和低位:1)软件开发阶段(设计、编码,测试)占软件项目开发总成本的绝大部分,是在软件开发中形成质量的关键环节2)软件设计是开发阶段最重要的步骤,是将需求准确的转化为完整的软件产品或系统的唯一途径;3)软件设计做出的决策,最终影响软件实现的成败四十、软件设计的基本原理:4)设计是软件工程和软件维护的基础1)抽象2)模块化3)信息隐藏 4)模块独立性 四十一、优秀设计:高内聚,低耦合。四十二、软件概要设计的基本任务:
1) 设计软件系统的结构2)数据结构及数据库设计3)编写概要设计文四十三、数据流图的两种典型结构形式:档4)概要设计文档评审 1)变换型和事务性 四十四、程序流图构成的控制结构:1)顺序型2)选择型3)先判断重复姓四十五、软件测试的目的:4)后判断重复型5)多分支选择型1)测试是为了发现程序的错误而执行程序的
过程2)好的测试用例很可能发现迄今为止尚未发现的错误3)一次成功的测试是指发现了至今为止尚未发现的错误四十六、软件测试:暴露错误,评价可靠性
四十七、软件调试、发现错误的位置,并改正错误 四十八、白盒测试又称为结构测试或逻辑驱动测试四十九、白盒测试的基本原则:1)保证所测模块中每一个独立路径至少
执行一次2)保证所测试模块所有判断的每一个分支至少执行一次3)保证所测模块的每一个循环都在边界条件和一般条件下至少执行一次证所有内部数据结构的有效性 4)验五十、白盒测试主要有(逻辑覆盖和基本路径测试)
五十一、黑盒测试:工能测试或数据驱动测试着重测试软件功能五十二、黑盒测试方法和技术有:1)等价类划分法2)边界值分析法 3)错误推测法 五十三、软件测试实施过程的确认测试和系统测试 4个步骤:1)单元测试2)集成测试3)五十四、软件调试的目的:改正错误 五十五、软件调试的任务、诊断和改正程序中的错误。五十六、某学生的记录由学号void fun(STREC *a) { int i; a->ave=0.0; for(i=0;i 算法具有五个基本特性:输入、输出、有穷性、确定性和可行性。 2.5.1 输入输出 输入和输出特性比较容易理解,算法具有零个或多个输入。尽管对于绝大多数算法来说,输入参数都是必要的,但对于个别情况,如打印“hello world!”这样的代码,不需要任何输入参数,因此算法的输入可以是零个。算法至少有一个或多个输出,算法是一定需要输出的,不需要输出,你用这个算法干吗?输出的形式可以是打印输出,也可以是返回一个或多个值等。 2.5.2 有穷性 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。现实中经常会写出死循环的代码,这就是不满足有穷性。当然这里有穷的概念并不是纯数学意义的,而是在实际应用当中合理的、可以接受的“有边界”。你说你写一个算法,计算机需要算上个二十年,一定会结束,它在数学意义上是有穷了,可是媳妇都熬成婆了,算法的意义也不就大了。 2.5.3 确定性 确定性:算法的每一步骤都具有确定的含义,不会出现二义性。算法在一定条件下,只有一条执行路径,相同的输入只能有唯一的输出结果。算法的每个步骤被精确定义而无歧义。 2.5.4 可行性 可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。可行性意味着算法可以转换为程序上机运行,并得到正确的结果。尽管在目前计算机界也存在那种没有实现的极为复杂的算法,不是说理论上不能实现,而是因为过于复杂,我们当前的编程方法、工具和大脑限制了这个工作,不过这都是理论研究领域的问题,不属于我们现在要考虑的范围。 1(什么叫算法,简述算法的基本特性。 2(如何评价一个算法,简述空间复杂性和时间复杂性的概念。 3(试分析下列各程序段的时间复杂性。 (1)i=1; (2) for(i=1; i<=m; i++)="" (3)="" x="n;" n="">1*/ k=0; for(j=1; j<=n; j++)="" y="0;">=n;> n=100; A[i][j] = i * j; while(x>=(y+1)*(y+1)) do{k = k + 10 * i; y = y + 1; i++; }while(i ! 100); 4.简述下列概念:数据、数据元素、数据类型、数据结构; 5(简述数据的逻辑结构、数据的存储结构和数据运算的概念。 6(线性表可用顺序表和单链表作为存储结构。试问: (1) 两种存储表示各有哪些主要优缺点, (2) 如果有n个表同时并存,且处理过程中个表的长度会动态发生变化,表的 总数也可能自动变化,在此情况下应选用哪种存储表示,为什么, (3) 若表的总数基本稳定,且很少进行插入和删除,但要求以最快速度存取表 中元素,这时应采用哪种存储表示,为什么, 7.设ha和hb分别是两个带表头结点的升序单链表的表头指针。试设计一个算法 将这两个链表合并成为一个降序单链表。要求结果链表仍使用原来两个链表的结 点空间而不另开辟其他存储空间,表中允许出现重复数据。 8.设有一个线性表,试分别在顺序表和单链表两种存储表示方式Laaa,(,,,)?12n L下,各设计一个将线性表逆置的算法,要求不重新开辟存储空间。所谓逆置是 ,指将线性表中的元素次序颠倒过来,即成为。 Laaa,(,,,)?nn,11 9. 设有一个栈,元素的进栈次序依次为A, B, C, D, E. 试问能否得到下面的出栈 序列,若能请写出操作序列,若不能请说明原因。 (1) C, E, A, B, D (2) C, B, A, D, E (3) D, C, A, B, E (4) A, C, B, E, D (5) A, B, C, D, E (6) E, A, B, C, D 10. 何谓队列的上溢现象,解决它有哪些方法,分别简述其工作原理。 11(试写一个算法,它借助栈逆置一个单链表。 12(已知一棵树边的集合为{,, k>, 个结点是根结点,(2)哪些是叶子结点,(3)哪个是结点g的双亲,(4)哪 些是结点g的祖先,(5)哪些是结点g的孩子,(6)哪些是结点e的子孙,(7)哪些是结点e的兄弟,哪些是结点f的兄弟,(8)结点b和n的层次号分别是 什么,(9)树的深度是多少,树的度是多少,(10)以结点c为根的子树深度 是多少, 13 试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。 nnn?14 已知一棵度为k树中有个度为1的结点,有个度为2的结点,,有12k 个度为k的结点,问:树中有多少个叶子结点, 15(对于如图所示的两棵二叉树,分别 写出:(1)前序遍历序列,(2)中序遍 历序列,(3)后序遍历序列,(4)层序 遍历序列。 16 已知某二叉树的后序遍历序列为:DCEGBFHKJIA,中序遍历序列为:DCBGEAHFIJK,请画出该二叉树,并写出它的前序序列和层序序列。 17 已知某二叉树的层序遍历序列为:ABCDEFGHIJ,中序遍历序列为:DBGEHJACIF,请画出该二叉树,并写出它的前序序列和后序序列。 18.把下图所示的两棵树分别转换为相应的二叉树。 19(假设用于通信的电文仅有8个字母组成,字母在电文中出现的频率分别为7, 19,2,6,32,3,21,10。试为这8个字母设计哈夫曼编码。 20(给出右图所示有向图的邻接矩阵、邻接表,并给出每个顶点的入度和出度。 21(对右图所示网分别给出: (1) 深度优先搜索遍历序列(分别从V1和V4开始); (2)广度优先搜索遍历序列(分别从V1和V4开始); (3)用普里姆算法求得最小生成树的过程; (4)用克鲁斯卡尔算法求得最小生成树的过 程; 1 22( 对于右图所示的带权有向图分别给出: 10 18 (a) 网的带权邻接矩阵, 5 (b) 用DIJKSTRA方法求从V1出发到个顶点的最 2 3 短路径的过程。 3 2 5 2 4 5 2 23(给出右图所示无环图的所有拓扑有序序列。 24(什么是排序算法,什么是内部排序,什么是外部排序, 25.给定排序码序列为(17,8,21,35,32,15,21,25,12,23),试分别写出使用以下排序方法进行排序的过程。 (1)直接插入排序(7)快速排序(8)直接选择排序(11)二路归并排序(12)基数排序。 26(设结点序列为(60,30,90,50,120,70,40,80),试用二叉检索树的插入方法,画出按此结点序列建立的一棵二叉检索树。 27. 已知如下所示长度为12的表 ( Jan, Feb, Mar, Apr, May, June, July, Aug, Sep, Oct, Nov, Dec ) 按表中元素的顺序依次插入一棵初试为空的二叉排序树,请画出插入完成之后的二叉排序树,并求其在等概率情况下查找成功的平均查找长度。 28( 对关键字(22,41,53,46,30,13,01,67)按下述方法分别建立一个 长度为11的哈希表:(1)除留余数法 h(k)=k%11 和线性探查法, (2)dhkk,,()%11,开放定址法 d,(d,(7,k)%10,1)%11 (i,2,3,?)ii,11范文四:2.5 算法的特性
范文五:什么叫算法?简述算法的基本特性。