计算机基础知识要点

1. 基本数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 1.2 数据结构的基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构; (3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:ADR(ai)=ADR(a1)+(i-1)k,,ADR(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。 1.4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算: (1)插入元素称为入栈运算; (2)删除元素称为退栈运算; (3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。 队列是“先进行出”(FIFO)或“后进后出”(LILO)的线性表。 队列运算包括 (1)入队运算:从队尾插入一个元素; (2)退队运算:从队头删除一个元素。 循环队列:s=0表示队列空,s=1且front=rear表示队列满 1.5 线性链表 数据结构中的每一个结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。 结点由两部分组成: (1)用于存储数据元素值,称为数据域; (2)用于存放指针,称为指针域,用于指向前一个或后一个结点。 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。 链式存储方式即可用于表示线性结构,也可用于表示非线性结构。 线性链表,HEAD称为头指针,HEAD=NULL(或0)称为空表,如果是两指针:左指针(Llink)指向前件结点,右指针(Rlink)指向后件结点。 线性链表的基本运算:查找、插入、删除。 1.6 树与二叉树 树是一种简单的非线性结构,所有元素之间具有明显的层次特性。 在树结构中,每一个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。 在树结构中,一个结点所拥有的后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次称为树的深度。 二叉树的特点: (1)非空二叉树只有一个根结点; (2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。 二叉树的基本性质: (1)在二叉树的第k层上,最多有2k-1(k≥1)个结点; (2)深度为m的二叉树最多有2m-1个结点; (3)度为0的结点(即叶子结点)总是比度为2的结点多一个; (4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]表示取log2n的整数部分; (5)具有n个结点的完全二叉树的深度为[log2n]+1; (6)设完全二叉树共有n个结点。如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论: ①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2); ②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点); ③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。 满二叉树是指除最后一层外,每一层上的所有结点有两个子结点,则k层上有2k-1个结点深度为m的满二叉树有2m-1个结点。 完全二叉树是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。 二叉树存储结构采用链式存储结构,对于满二叉树与完全二叉树可以按层序进行顺序存储。 二叉树的遍历: (1)前序遍历(DLR),首先访问根结点,然后遍历左子树,最后遍历右子树; (2)中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右

计算机基础知识的知识要点,计算机基础知识要点相关推荐

  1. 计算机应用基础李雪第三版答案,计算机应用基础--李雪 第3章计算机的基础知识.ppt...

    文档介绍: 第3章计算机的基础知识3.1计算机系统的基本组成3.2计算机的常见硬件设备3.3计算机的常见软件配置3.4信息编码与数据表示3.1计算机系统的基本组成一个系统就是一个整体,计算机系统是能够 ...

  2. 初中计算机基础知识说课稿,计算机基础知识说课稿

    <计算机基础知识>说课稿 民和职业技术学校 马克全 一.说教材 本教材是华中师范大学出版社出版的初中信息技术教材第一册 第一章第三节的内容.本单元通过对信息技术的展开,主要写了信息与信息技 ...

  3. 二级c语言基础知识pdf下载,全国计算机等级考试二级C语言公共基础知识.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp资格/认证考试&nbsp>&nbsp计算机等级考试 全国计算机等级考试二级C语言公共基础知识 ...

  4. 计算机基础知识作业,第一章计算机基础知识作业

    第一章计算机基础知识作业 读书之法,在循序而渐进,熟读而精思 作业一计算机基础知识 一.作业目的 1.掌握 1)计算机的发展历史: 2)计算机的主要特点和应用领域: 3)计算机系统硬件组成和工作原理: ...

  5. 计算机java语言教程,计算机JAVA教程二讲Java语言基础知识.doc

    计算机JAVA教程二讲Java语言基础知识 2.1简单数据类型 2.1.1 标识符和保留字 1.标识符 程序员对程序中的各个元素加以命名时使用的命名记号称为标识符(identifier).Java语言 ...

  6. 计算机基础知识赏花主观题,计算机研究生考什么?你知道吗?

    计算机研究生的初试科目调整后为4门,即政治理论.外国语.数学一和计算机学科专业基础综合,卷面满分值分别为100分.100分.150分和150分. 计算机研究生考什么 一.计算机专业考研的初试科目调整后 ...

  7. 小学计算机打字基础知识,浅谈小学计算机教学技巧5篇

    <浅谈小学计算机教学技巧5篇>由会员分享,可在线阅读,更多相关<浅谈小学计算机教学技巧5篇(3页珍藏版)>请在装配图网上搜索. 1.浅谈小学计算机教学技巧5篇浅谈小学计算机教学 ...

  8. 计算机专业科普知识图文并茂,科普下计算机专业需要什么基础知识?

    近日有关于科普下计算机专业需要什么基础知识?的问题受到了很多网友们的关注,大多数网友都想要知道科普下计算机专业需要什么基础知识?的具体情况,那么关于到科普下计算机专业需要什么基础知识?的相关信息,小编 ...

  9. 计算机基础知识题库选择题,计算机基础知识篇选择题库

    计算机基础知识篇选择题库 (6页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 计算机基础知识篇选择题库1.微型计算机的性能指标不包括___ ...

  10. 计算机1级 计算机基础知识,计算机一级计算机基础及MSOffice应用:计算机基础知识...

    计算机一级计算机基础及MSOffice应用:计算机基础知识 全国计算机等级考试是社会考试,就考试性质而言,它是一种重视应试人员对计算机和软件的实际运用能力的考试.本文特意为大家收集整理了计算机一级计算 ...

最新文章

  1. 如何将广告始终定位到网页右下角
  2. 前端页面如何引入公用的页面header和footer
  3. final 140字评论II
  4. 确定关键质量的5大原则
  5. 通过Java执行python文件
  6. HDU 3037 Saving Beans (Lucas法则)
  7. 每天一道LeetCode-----找到1,2,...,n这n个数所有的组合,每个组合有k个元素,且元素大小递增
  8. 撰写paper时,如何在word里输入图片或其他文献(PDF)里的公式?(更新时间2022.03.01)
  9. IDEA Translation插件安装及设置鼠标悬浮提示的自动翻译
  10. js ajax java传参_js使用ajax传值给后台,后台返回字符串处理方法
  11. Java日期型集合排序
  12. pycharm更改默认项目地址的方法
  13. 自然语言处理(三) 语料库和语言知识库
  14. ifix组态软件研究控制按钮权限
  15. OCT-视网膜分层处理
  16. window.open() 被拦截的问题解决
  17. 酷派Y60-C1官方ROM内容解析
  18. docker一键部署springboot项目(三)
  19. 箱型图/盒图 jupyter Notebook
  20. VSFTPD + NGINX

热门文章

  1. 学习MySQL,怎么能不会数据类型和schema优化!
  2. 30 位互联网大佬,当年上了什么大学?
  3. 畅销款黑莓应用是怎样构建的?
  4. 微信iOS版内测暗黑模式;涉嫌恶意举报,社交平台Soul运营合伙人被批捕;AWS推出基于Linux开源操作系统 | 极客头条...
  5. 为什么我们应该使用 Flutter?
  6. 这个东西可以温暖你想打BUG的心......
  7. 漫画算法:5 分钟搞明白红黑树到底是什么?
  8. 苹果收购英特尔手机芯片业务;西门子将在华建立 5G 研发中心;React Native 0.60.4 发布 | 极客头条...
  9. 聚焦行业新风口 白鹭科技云游戏战略发布会成功举办
  10. fork()成为负担,需要淘汰 | 极客头条