计算机软件技术基础第四版知识点,计算机软件技术基础知识点储备

《计算机软件技术基础知识点储备》由会员分享,可在线阅读,更多相关《计算机软件技术基础知识点储备(16页珍藏版)》请在皮匠网上搜索。

1、第一章:概述1、程序=算法+数据结构2、算法的几个基本特征:能行性 确定性 有穷性 拥有足够的情报 3、算法的复杂度主要包括: 时间复杂度和空间复杂度第二章:数据结构1、逻辑结构:数据集合中各数据元素之间所固有的逻辑关系(集合结构、线性结构、树形结构、图状结构),可以看作是从具体问题抽象出来的数据模型。2、物理(存储)结构:在对数据进行处理时,各数据元素在计算机中的存储关系,可分为以下四种:顺序存储结构(存储空间连续)、链式存储结构、索引结构、散列结构3、数据结构的运算是指对数据结构中的结点进行操作的集合,包括插入、删除、更新、检索、排序等。4、数据元素是数据的基本单位5、有时数据元素可由若干。

2、个数据项(数据的属性)组成,在这种情况下,数据项组成的数据元素称为记录,数据项是具有独立含义的最小标识单位,不可分割 6、顺序存储结构:通常定义一维数组来表示线性表的顺序存储空间 7、顺序表的插入异常处理:(m为线性表的空间大小,n为线性表的长度n时,认为在最后一个元素之后(即第n+1个元素之前)插入;3 当in) i=n+1;if(i=i;k-)vk=vk-1;vi-1=b;n=n+1;8、顺序表的删除异常处理:1 当线性表为空(即n=0)时为下溢错误,不能进行删除,算法结束;2 当in时,认为不存在该元素,不进行删除。函数的代码实现:void delete(int *v, int m,in。

3、t n, int i)int k;if(n=0) coutn) coutnumber=b;if(head=NULL)head=p;p-next=NULL;if(head-number=x)P-next=head;Head=p;q=head;while(q-next!=NULL)&(q-next)-number)!=x)q=q-next;p-next=q-next;q-next=p;13、单链表的删除函数实现删除包换元素x的结点void delete(int x)node *p,*q;if(head=NULL) coutnumber)=x)p=head-next;delete head;head。

4、=p;q= head;while(q-next)!=NULL)&(q-next)-number)!=x)q=q-next;if(q-next=NULL) coutnext;q-next=p-next;delete p;14、循环链表的插入函数实现在包含元素x的结点前插入新元素bvoid insert(int x,int b)node *p,*q;p=new code;p-number=b;q=head;while(q-next!=NULL)&(q-next)-numbe)r!=x)q=q-next;p-next=q-next;q-next=p;15、循环链表的删除函数实现删除包含元素x的结点v。

5、oid delete(int x)node *p,*q;q=head;while(q-next!=NULL)&(q-next)-number)!=x)q=q-next;if(q-next=head) coutnext;q-next=p-next;delete p;16、单链表与循环链表的区别单链表的头指针指向线性表第一个元素的结点;而循环链表的头指针指向表头结点,表头结点的指针域指向链表的第一个结点。单链表的最后结点的指针域为空;而循环链表最后结点的指针域指向表头结点.17、下三角矩阵的压缩存储(以行为主压缩)(以列为主压缩)18、对称矩阵的压缩19、索引存储的方式顺序索引顺序、顺序索引链接、。

6、链接索引顺序、链接索引链接20、二叉树的性质在二叉树的第k层上,最多有2k1(k1)个结点深度为m的二叉树最多有2m1个结点(深度即为层数)在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个具有n个结点的二叉树,其深度至少为log2n1,其中log2n表示取log2n的整数部分 21、满二叉树是指每层的结点都有两个子结点,满的不行不行的了,完全二叉数是指最后一层必须是从左至右的顺序断了线的,其余层都是满的。22、前序遍历、中序遍历、后续遍历(前中后对应的是根结点的访问顺序)前序遍历:先根结点,再左再右中序遍历:先左,再根结点,再右后续遍历:先左,再右,再根结点23、若给出三。

7、种遍历中的任意两种遍历,要求写出第三种遍历,思路如下:先正确画出对应的二叉树,根据已给条件进行验证,最后写出第三种遍历24、三种遍历的程序实现前序遍历void qian_ma()node *p;p=BT;pre(p);coutnumberlchild);qian(p-rchild);中序遍历void zhong_ma()node *p;p=BT;zhong(p);coutlchild);coutnumberrchild);后续遍历void hou_ma()node *p;p=BT;hou(p);coutlchild); hou(p-rchild);coutnumberx)vk+1=vk;k=k。

8、-1;vk+1=x;n=n+1;4、有序表的删除函数void delete(int *v, int m,int n, int i)int k;if(n=0) coutn) coutx) j=k-1;else i=k-1;return(-1);6、冒泡排序的原理以及程序实现原理:相邻两个元素比较大小,要是大,往后移,要是小,不要动,这样每进行一次就可以把最大的那个移到末尾了程序实现:void maopao(int *s,int n)int i,j;int temp;for(i=1;isj+1)temp=sj;sj=sj+1;sj+1=temp;7、快速排序的原理以及程序实现原理:我明白快速排序了。

9、,在考试的时候,老师已经明确说了将第一个元素作为关键字,所以这样的话 ,将第一个元素设为p(k),并将p(k)的值赋给T,然后设置两个指针i和j分别指向表的起始与最后的位置。反复作以下两步:将j逐渐减小,并逐次比较P(j)与T,直到发现一个P(j)T为止,将P(i)移到P(j)的位置上。上述两个操作交替进行,直到指针i与j指向同一个位置(即i=j)为止,此时将T移到P(i)(即P(j)的位置上。程序实现:void quick(int *p,int n)int m,i;int *s;i=split(p,n);quick(p,i);s=p+(i+1);m=n-(i+1);quick(s,m);st。

10、atic int spilt(int *p,int n)int i,j,k,l;int T;i=0; j=n-1;T=p0;while(i!=j)while(i=T)j=j-1;if(i=0)&(pkt)pk+1=pk;k=k-1;pk+1=t;9、希尔排序的原理以及程序实现原理:每间隔一定数量的元素之间进行比较和互换,慢慢减小这个间隔,直到间隔为1时,进行一次插入排序就搞定了。程序实现:void shel(int *p,int n)int k,j,i;int t;k=n/2;while(k0)for(j=k;j=0)&(pit) pi+k=pi;i=i-k;pi+k=t;k=k/2;10、简。

11、单选择排序的原理以及程序实现原理:对于长度为n的序列,需要扫描n-1遍,每一遍扫描均从剩下的子表中选出最小的元素,然后将该最小的元素与剩余子表的第一个元素进行互换。程序实现:void select(int *p,int n)int i,j,k;int d;for(i=0;in-1;i+)k=i;for(j=i+1;jn;j+)if(pipk) k=j;if(k!=j)d=pi;pi=pk;pk=d;11、堆排序的原理以及程序实现这个有点复杂,你只需要记住两句话就可以啦,一是堆一定是完全二叉树,二是堆中所有根结点一定是大于其对应的叶子结点的。12、二叉排序树的概念及特性概念:左子树上所有结点的值。

12、均小于根结点的值;右子树上所有结点的值均不小于根结点的值。 特征:中序遍历二叉排序树即可得到有序数列。13、给定序列构造二叉排序树第1个你就放在根结点就可以啦,然后放第二个的时候你就看如果是大于根结点的话放在右子树,如果是小于根结点的话就放左子树,整体如此,局部也是一样,最后还要检查一下哦,按照一定的顺序检查,还是很好玩的呢。14、二叉排序树的查找方法:给你一个数,怎么在二叉排序树中找到它呢?从上往下比较呗,真的很神奇呢,啦啦啦第四章:资源管理技术1、多道程序设计:在一台处理机上并发运行多个程序 2、相对地址(逻辑地址)与绝对地址概念 相对地址:编写程序时使用的地址绝对地址:即为物理地址,数据。

13、存储在计算机中的地址3、虚拟存储的意义:扩大逻辑内存第五章:数据库温馨提示:该部分因为考点较为明确,所以不按照知识点进行划分,而是按照考题类型进行整理。本章考题占20分,分为两个题型,对表的操作、对表中数据的操作。一、对表的操作例:创建学生基本信息表(学号,姓名,年龄,所在系),学号为字符类型,8个字符长,学号为该表关键字;姓名为字符类型,10个字符长;年龄为整型,可以不输入值;所在系为字符型,12个字符长,允许不输入值CREAME TABLE S(SNO CHAR(8) PRIMARY KEY,SNAME CHAR(10) NOT NULL,AGE INT,DEPART CHAR(12);例。

14、:学生信息表S没有记录学生性别,修改表结构,增加“性别”列SEX,此列为字符型,长度为2ALTER TABLE S ADD SEX CHAR(2)例:将学生表S姓名SNAME列字符长度修改为20ALTER TABLE S MODIFY (SNAME CHAR(20);例:删除S表DROP TABLE S二、对表中数据的操作有如下表Employee(emp_id, name, dept, salary, skill)雇员(雇员编号,姓名,所属部门,工资,技能)雇员编号为关键字,写出满足下面要求的SQL语句:1)查询全部雇员所属部门的信息;SELECT dept FROM Employee;2)查。

15、询工资在2000-3000范围内雇员的姓名和所属部门以及工资数SELECT name,dept,salary FROM Employee WHERE salary BETWEEN 2000 AND 30003)查询“销售”部门雇员的姓名和技能SELECT name,skill FROM Employee WHERE dept=”销售”;(4)统计雇员总数SELECT COUNT(*) FROM Employee;5)多表联合查询SELECT DISTINCT 列名, 列名FROM 表名1 JOIN 表名2 ON 连接条件 WHERE 行选择条件 GROUP BY 列名 ORDER BY 列名ASC(升序)或 DESC(降序)6)更改数据、插入数据、删除数据更改:例:将9811102同学的J03课程成绩加5分UPDATE SC SET G=G+5 WHERE SNO=9811102 AND CNO=“J03“;插入:例:向课程表中增加一条新的课程记录INSERT INTO C VALUES(“J05“,”C语言“);删除:例:删除C表中的“数据库”课程记录DELETE FROM C WHERE CNAME=“数据库”;第六章:编译技术编译程序的基本组成:词法分析程序语法分析程序加工程序优化修饰部分装配程序或链接程序。

你可能感兴趣的:(计算机软件技术基础第四版知识点)