`
daisy8564
  • 浏览: 76703 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

常见的数据结构面试题,看看你能做出几题来

阅读更多
1.       在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:
q=head;
while (q->next!=p)  q=q->next;
s= new  Node;   s->data=e;
q->next=     ;    //填空
s->next=     ;    //填空


2.       线性表的顺序存储结构是一种    的存储结构,而链式存储结构是一种___的存储结构。
A.随机存取     B.索引存取   C.顺序存取   D.散列存取


3.       线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。
A. 必须是连续的      B. 部分地址必须是连续的
C. 一定是不连续的    D. 连续或不连续都可以

4.       在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。
A. s->next=p->next;  p->next=s;    B. p->next=s->next;  s->next=p;
C. q->next=s;   s->next=p;        D. p->next=s;   s->next=q;


5.       在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。
A.  s->next=p;  p->next=s;      B. s->next=p->next;  p->next=s;
C.  s->next=p->next;  p=s;      C. p->next=s;  s->next=p;


6.       在一个单链表中,若删除p所指结点的后续结点,则执行____。
A. p->next= p->next->next;   B. p= p->next;  p->next= p->next->next;
C. p->next= p->next;          D. p= p->next->next;

7.       链表不具备的特点是 ____ 。
A 可随机访问任何一个元素              B 插入、删除操作不需要移动元素
C 无需事先估计存储空间大小              D 所需存储空间与线性表长度成正比

8.       以下关于线性表的说法不正确的是   。 
A 线性表中的数据元素可以是数字、字符、记录等不同类型。 
B 线性表中包含的数据元素个数不是任意的。 
C 线性表中的每个结点都有且只有一个直接前趋和直接后继。 
D 存在这样的线性表:表中各结点都没有直接前趋和直接后继。

9.       在一个长度为n的顺序表中删除第i个元素,要移动    个元素。如果要在第i个元素前插入一个元素,要后移( )个元素。 N-I N-I+1




--------------------------------------------------------------------------------------------------
1.       栈操作数据的原则是(   ),队列操作数据的原则是 (    )    。

2.       在栈中,可进行插入和删除操作的一端称      。

3.       栈和队列都是____结构;对于栈只能在____插入和删除元素;对于队列只能在____插入元素和____删除元素。

4.       栈结构通常采用的两种存储结构是      和      。

5.       计算机在运行递归程序时,要用到      提供的栈。

6.       一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是____。
    A. edcba    B. decba    C. dceab    D. abcde

7.       一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是____ 。
    A. 4,3,2,1        B. 1,2,3,4   C. 1,4,3,2        D. 3,2,4,1


8.       判断一个表达式中左右括号是否匹配,采用 ____ 实现较为方便。
A 线性表的顺序存储        B 队列        C 线性表的链式存储        D 栈

9.       栈与一般线性表区别主要在方面      。
A 元素个数        B 元素类型        C 逻辑结构        D 插入、删除元素的位置

10.       “假上溢”现象会出现在     中。 
A  循环队列                B 队列                C 链队列                D 顺序队列

11.       在一个链队中,假设F和R分别是队首和队尾指针,则删除一个结点的运算是    。 
A  R=F->next;         B  R=R->next;         C  F=F->next;                D  F=R->next;

12.       表达式a*(b+c)-d的后缀表达式是   。
A.abcd*+-               B. abc+*d-               C. abc*+d-               D. -+*abcd
分享到:
评论

相关推荐

    程序员常见面试题(算法数据结构)

    在程序员的面试中,算法和数据结构是必不可少的考察点,因为它们是构建高效软件的基础。下面我们将详细探讨两个常见的面试题目,涉及双向链表的操作和模板的特化理解。 首先,我们来看双向链表的查找节点问题。双向...

    目前最完整的数据结构1800题包括完整答案

    通过这些题目,你可以深入理解数据结构的内在逻辑,提升算法设计和分析能力,为后续的编程学习和面试做好充分准备。解答这些题目时,不仅要看答案,还要理解解题思路,分析时间复杂度和空间复杂度,这样才能真正提升...

    Java面试宝典和2018Bat公司面试题

    同时,对算法和数据结构的掌握也是必不可少的,它们在面试中往往通过编程题来考察。 总的来说,这个压缩包提供了丰富的学习资源,无论是对Java基础知识的巩固,还是对高级特性的深入理解,都能为你的面试之路提供强...

    微软等数据结构算法面试

    从提供的部分内容来看,文章的作者是July和阿财,他们在2011年共同整理和分享了这些面试题的答案。作者提到了他们的一些个人看法和经历,比如作者认为答案只是一个参考,不应该过分依赖答案;而且他们认为对答案的...

    C++面试题点播三

    从知识的角度来看,该文档涉及了以下几个方面的知识点: 1. C++编程基础与高级特性:包括数据类型、控制结构、函数、类和对象、STL(标准模板库)、多线程和网络编程等。 2. 面试技巧:如何在面试中清晰表达自己的...

    java面试题集锦

    ### Java面试题集锦知识点详解 #### 一、基础知识篇 **1. 数据库访问技术:JDBC** - **知识点概述**:Java Database Connectivity (JDBC) 是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供...

    iOS 面试必看算法题

    理解各种数据结构的特性和操作复杂度,能帮助你在解决实际问题时做出最佳选择。 3. **递归与动态规划**:递归是函数直接或间接调用自身的一种方法,常用于解决复杂问题,如斐波那契数列、汉诺塔等。动态规划则是一...

    经典面试题关于人事面试的题目

    ### 经典面试题关于人事面试的题目解析 #### 1. 你谈谈你自己吧! - **解析**:这是面试中最常见的开场白之一,旨在让面试官了解求职者的背景、经历以及个人特质。回答时应该简明扼要地介绍自己的教育背景、工作...

    很好的面试逻辑题,不得不看的东西

    7. **问题抽象化**:将具体问题转化为更抽象的概念,是解决这些逻辑题目的关键,也是计算机科学中的核心技能,如将具体情境抽象为算法或数据结构。 通过这些题目,我们可以提升逻辑思维、数学应用和问题解决能力,...

    史上机器学习面试题机器学习爱好者必看.pdf

    以上内容仅涵盖了机器学习面试题中的一部分知识点,实际面试可能会涉及更多深度和广度的问题,如深度学习、强化学习、特征工程、模型评估指标、集成学习等。对这些概念的深入理解和实践能力是机器学习爱好者和从业者...

    IBM面试智力题IBM面试智力题IBM面试智力题

    从给定的文件信息来看,主要涉及的是IBM面试中出现的一些智力题,这些题目涵盖了逻辑推理、数学计算、策略思考等多个方面。下面将对部分题目进行详细的解析与知识点的提炼。 ### 题目解析 #### 1. 时间与速度问题 ...

    android2015面试题

    ### Android 2015 面试题解析 #### 1. DVM(Dalvik Virtual Machine)与 Linux 的关系? **知识点:** - **DVM(Dalvik虚拟机)**:是Android系统中的一个关键组件,它负责执行应用程序的Dalvik字节码。 - **Linux...

    16道嵌入式C语言经典面试题

    ### 16道嵌入式C语言经典面试题解析 #### 一、预处理指令 #define 的使用 在预处理指令 `#define` 的使用上,面试题中给出的一个例子是: ```c #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL ``` 1. **宏定义...

    软件测试工程师经典面试题3

    以下是对一些经典面试题的详细解答: 1. 软件测试的流程是什么? 软件测试流程通常包括:需求分析、测试计划、设计测试用例、执行测试、记录和跟踪缺陷、测试报告编写以及测试总结。在每个阶段,都需要对测试目标...

    Android招聘面试题解答

    ### Android招聘面试题解答 #### 1. Android DVM 的进程和 Linux 的进程,应用程序的进程是否为同一个概念? - **解释**:DVM(Dalvik Virtual Machine)是指 Android 平台上运行应用的一个轻量级虚拟机。每个 ...

    史上最全的机器学习面试题机器学习爱好者必看.pdf

    数据挖掘是从海量非结构化数据中提取有价值信息的过程,而机器学习是赋予计算机在没有明确指令的情况下自我学习的能力,常用于构建预测模型或做出决策。数据挖掘中会应用到机器学习算法,但其目标是发现知识,而不...

    软件开发面试题及答案参考.pdf

    软件开发面试题及答案参考 Struts框架流程: 在Struts框架中,请求的处理过程可以分为以下几个步骤: 1. 用户提交表单,Struts根据表单的请求路径,在web.xml中指定servlet,并根据元素读取servlet的配置信息。...

    近期出现的C++面试题整理(附详细答案).docx

    以下是一些常见的C++面试题及其详细解答: 1. **C++中的static_cast和dynamic_cast的区别** - `static_cast`主要用于静态类型转换,它不进行运行时检查,当转换是安全的时,可以避免强制类型转换的冗长语法。 - `...

    前端大厂最新面试题-Fiber.docx

    从架构角度来看,Fiber 是对 React 核心算法(即调和过程)的重写,从编码角度来看,Fiber 是 React内部所定义的一种数据结构,它是 Fiber树结构的节点单位,也就是 React 16 新架构下的虚拟 DOM。 Fiber 的数据...

    android面试题

    - MessageQueue:存储待处理消息的数据结构。 - 线程:UI线程(通常为主线程),由Android系统初始化消息队列。 - **工作流程**: - Handler向MessageQueue发送消息。 - Looper不断循环从MessageQueue中获取消息...

Global site tag (gtag.js) - Google Analytics