- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件技术基础知识点储备.docx
第一章:概述1、程序=算法+数据结构2、算法的几个基本特征:能行性确定性有穷性拥有足够的情报3、算法的复杂度主要包括:时间复杂度和空间复杂度第二章:数据结构1、逻辑结构:数据集合中各数据元素之间所固有的逻辑关系(集合结构、线性结构、树形结构、图状结构),可以看作是从具体问题抽象出来的数据模型。2、物理(存储)结构:在对数据进行处理时,各数据元素在计算机中的存储关系,可分为以下四种:顺序存储结构(存储空间连续)、链式存储结构、索引结构、散列结构3、数据结构的运算是指对数据结构中的结点进行操作的集合,包括插入、删除、更新、检索、排序等。4、数据元素是数据的基本单位5、有时数据元素可由若干个数据项(数据的属性)组成,在这种情况下,数据项组成的数据元素称为记录,数据项是具有独立含义的最小标识单位,不可分割6、顺序存储结构:通常定义一维数组来表示线性表的顺序存储空间7、顺序表的插入异常处理:(m为线性表的空间大小,n为线性表的长度=m,插入的位置为i,i表示在第i个元素之前插入)当存储空间已满(即n=m)时为上溢错误,不能进行插入,算法结束;当in时,认为在最后一个元素之后(即第n+1个元素之前)插入;当i1时,认为在第1个元素之前插入函数的代码实现:void insert(int *v,intm,intn,inti, int b){int k;if(n==m) cout”出现上溢错误!”endl;if(in)i=n+1;if(i1) i=1;for(k=n;k=i;k--){v[k]=v[k-1];v[i-1]=b;n=n+1;}}8、顺序表的删除异常处理:当线性表为空(即n=0)时为下溢错误,不能进行删除,算法结束;当i1或in时,认为不存在该元素,不进行删除。函数的代码实现:void delete(int *v, intm,int n, inti){int k;if(n==0) cout”出现下溢错误!”endl;if((i1)||(in))cout”线性表里不存在该元素,不进行删除操作!”endl;for(k=i;k=n;k++)v[k-1]=v[k];n=n-1;}9、栈(相当于一个井)的相关概念先进后出(后进先出)栈顶允许插入与删除栈底不允许插入与删除10、队列(相对于排队买饭)的相关概念先进先出队尾允许插入对头允许删除11、链式存储每个结点由两部分组成:数据域和指针域12、单链表的插入函数实现在包含元素x的结点前插入新元素bvoid insert(intx,int b){node *p,*q;p=new node;p-number=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) cout”没有要删除的元素!”endl;if((head-number)==x){p=head-next;delete head;head=p;}q= head;while(((q-next)!=NULL)(((q-next)-number)!=x))q=q-next;if(q-next==NULL) cout”没有要删除的元素!”endl;p=q-next;q-next=p-next;delete p;}14、循环链表的插入函数实现在包含元素x的结点前插入新元素bvoid insert(intx,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的结点void delete(int x){node *p,*q;q=head;while((q-next!=NULL)(((q-next)-number)!=x))q=q-next;if(q-next==head) cout”没有要删除的元素”endl;p=q-next;q-next=p-next;delete p;}16、单链表与循环链表的区别单链表的头指针指向线性表第一个元素的结点;而循环链表的头指针指向表头结点,表头结点的指针域指向链表的第一个结点。单链表的最后结点的指针域为空;而循环链表最后结点的指针域指向表头结点.17、下三角矩阵的压
文档评论(0)