zoukankan      html  css  js  c++  java
  • 【笔记】数据结构、算法5

    下述有关栈和队列的区别,说法错误的是?  D

    A、栈是限定只能在表的一端进行插入和删除操作。
    B、队列是限定只能在表的一端进行插入和在另一端进行删除操作。
    C、栈和队列都属于线性表
    D、栈的插入操作时间复杂度都是o(1),队列的插入操作时间复杂度是o(n)

    对于栈用栈顶指针表示栈顶,而栈的插入和删除操作均在栈顶进行。
    对于队列用队头和队尾指针分别表示允许插入和删除的一端。因此对于顺序存储和链式存储的栈和队列,进行插入和删除运算的时间复杂度均为O(1)。

    执行()操作时,需要使用队列作为辅助存储空间。
    查找哈希(hash)表
    广度优先搜索图
    先序(根)遍历二叉树
    深度优先搜索图
     图的拓扑排序,深度优先 DFS关键路径算法用的栈辅助
     树的层次遍历 图的广度BFS优先遍历用的队列辅助
     
    数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为()。
    如果不是循环队列,那么就是r-f。
    此题是循环队列,那么:
    第一种:如图示,rear>front,那么就是r-f

     第二种:front>rear,那么元素个数为,(8+5-8)%8=3,即(n+r-f)%n.

    在二叉排序树中插入一个关键字值的平均时间复杂度为()。    O(log n)

    二叉排序树新插入的点均在叶子上,因此插入时间为O(1),而查找需从根节点往下找,因此算法复杂度可为树的高度,即O(log n) n为结点数目。

    若 GetHead 【 GetTail 【 GetHead 【 ((a,b),(c,d)) 】】】 = A;, 则A为: b

     GetHead 【 ((a,b),(c,d)) 】返回第一个元素(a,b)
    GetTail (a,b) 返回除第一个元素外的子表(b)
    GetHead (b)返回第一个元素 b

     B+树、B-树、B树、B*树。

    线性结构的是()

    线性结构:线性结构也是逻辑结构、线性是指一个元素后继只有唯一的一个元素或节点、

    顺序结构:顺序结构是存储结构、非线性是一个元素后面可以有多个后继或前继节点、

    顺序是指存储结构连续,例如数组是顺序的,链表不是顺序的,但他们都是线性的。

    常用的线性结构有:线性表,堆栈,队列,双队列,数组,串。
    常见的非线性结构有:二维数组,数组,广义表,树(二叉树等),图。

  • 相关阅读:
    jQuery 选择器:元素选择器、#id 选择器、.class 选择器
    jQuery 语法:文档就绪事件
    jQuery 安装:多种方法在网页中添加 jQuery
    jQuery 简介:什么事jQuery?为什么要学jQuery?
    SQL 快速参考:SQL语句语法
    SQL FORMAT() 函数:对字段的显示进行格式化
    Mybatis-Plus逻辑删除
    Mybatis-Plus中的ActiveRecord
    Mybatis-Plus使用Oracle的序列
    SpringBoot整合Mybatis-Plus
  • 原文地址:https://www.cnblogs.com/acmer-hmin/p/13555359.html
Copyright © 2011-2022 走看看