zoukankan      html  css  js  c++  java
  • 软件设计师【数据结构与算法基础知识及相关试题】

    一.图

      

      

      

    二.树

      

       

      

      

      

    三.排序算法

      1.稳定排序算法&不稳定排序算法

      

      2.插入排序

      

      

      3.选择排序

      

       4.交换排序

      

       

       5.归并排序

      

      

      6.基数排序

      

      

      7.各排序算法的特点

      

    四.其它算法

      1.递推法

      

      2.回溯法

      

      

      3.贪婪法

      

      4.分治法

      

      5.动态规划法

      

    五.基础试题

      1.

      

      2.

      

      3.

      

      

      4.

      

      

      5.

      

      6.

      

      7.

      

      

      8.

      

      

      9.

      

      

      

    六.备注

      1.数据结构可以用一个二元组{D,R}表示。其中D是某种数据对象,是数据结构(成为节点)的非空有限集合;R是该对象中所有数据成员之间的关系的有限集合。

      2.稀疏矩阵转一维数组坐标变换:

      

      3.线性表主要的存储结构有两种:顺序存储结构和链式存储结构。采用顺序存储结构,就称为顺序表(常用数组实现);采用链式存储结构则称为线性链表(即链表)。

      4.顺序存储线性表的最大优点就是随机存取线性表中的任意一个节点,缺点主要有两个,一是此线性表的大小通常是固定的,不利于任意增加或减少线性表的节点个数;二是插入和删除线性表的节点时,要移动数组中的其它元素,操作复杂。

      5.队列也是一种特殊的线性表,只允许在一端进行插入,另一端进行删除运算。允许删除运算的那一端称为队首,允许插入运算的一端称为队尾。

      6.循环队列在队列为空的初态为head=tail=0。在循环队列中,当tail赶上head时,队列满。反之,当head赶上tail时,队列变为空。这样队空和队满的条件都是head=tail,这样就会给程序判别队空和队满带来麻烦。因此,可采用当队列只剩下一个空闲节点的空间时,就认为是队列已满的简单办法,以区别队空和队满。即队空为head=tail,队满为head=tail+1。

      7.栈是另一种特殊的线性表,栈只允许在同一端进行插入和删除操作。允许插入和删除的一端为栈顶,另一端为栈底。

      8.采用顺序实现的栈中,初始化运算负责将栈顶编码top初始化为"-1",使栈为空,在进栈操作时,需要判断栈是否满(top=N-1说明栈满),如果未满,则将新元素入栈,并将top加1;在出栈操作时,需要判断栈是否为空(top=-1说明为空),如果非空,则取出栈顶元素,将top减1。

      9.顺序栈的缺点是为了避免栈满发生溢出,需预先为栈设立足够大的空间,但太大会造成空间浪费,太小又容易发生溢出。

      10.栈也可以用链表实现,用链表实现的栈称为链接栈。链表的第一个节点为顶节点,链表的首节点就是栈顶指针top,top为NULL的链接栈为空栈。

      11.字符串的最后一个有效字符之后有一个字符串结束标志,记为""。

  • 相关阅读:
    Struts2快速后台验证 使用
    Python发送邮件
    【Python】【Flask】前端调用后端方法
    后台参数验证的几种方式
    使用 jQuery 进行前端验证
    postman接口测试——笔记
    安全测试
    jQuery 是javascript的一个库(常用插件、处理器)
    javascript 的 事件类型(事件)
    JavaScript的 基本数据类型---对象
  • 原文地址:https://www.cnblogs.com/yszd/p/9347188.html
Copyright © 2011-2022 走看看