(9)下列关于栈和队列的叙述中,正确的是( )。
Ⅰ.栈和队列都是线性表
Ⅱ.栈和队列都不能为空
Ⅲ.栈和队列都能应用于递归过程实现
Ⅳ.栈的操作原则是后进先出,而队列的操作原则是先进先出
Ⅴ.栈采用顺序方式存储,而队列采用链接方式存储
A)仅Ⅰ和Ⅳ
B)仅Ⅰ、Ⅱ和Ⅳ
C)仅Ⅱ、Ⅲ和Ⅴ
D)仅Ⅰ、Ⅳ和Ⅴ
● 栈和队列都是线性的数据结构。以下关于栈和队列的叙述中,正确的是 (37) 。
(37)A. 栈适合采用数组存储,队列适合采用循环单链表存储
B. 栈适合采用单链表存储,队列适合采用数组存储
C. 栈和队列都不允许在元素序列的中间插入和删除元素
D. 若进入栈的元素序列确定,则从栈中出来的序列也同时确定
答案:B
顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。
通常,(64)应用于保护被中断程序现场等场合。
A.队列
B.堆栈
C.双链表
D.数组
A、线性表
B、数组
C、堆栈
D、队列
下列关于栈和队列的叙述中,哪些是正确的?
Ⅰ.栈和队列都是线性表
Ⅱ.栈和队列都不能为空
Ⅲ.栈和队列都能应用于递归过程实现
Ⅳ.栈的操作原则是后进先出,而队列的操作原则是先进先出
Ⅴ.栈采用顺序方式存储,而队列采用链接方式存储
A.仅Ⅰ和Ⅳ
B.仅Ⅰ、Ⅱ和Ⅳ
C.仅Ⅱ、Ⅲ和Ⅴ
D.仅Ⅰ、Ⅳ和Ⅴ
大唐高鸿数据网络技术股份有限公司8月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:如果对方网站反爬取,封IP了怎么办?可用的回答 : 放慢抓取熟速度,减小对目标网站造成的压力,但是这样会减少单位时间内的数据抓取量 使用代理IP(免费的可能不稳定,收费的可能不划算) 问题 Q2:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q3:大数据的文件读取?可用的回答 : 1. 利用生成器generator 2. 迭代器进行迭代遍历:for line in file 问题 Q4:IO多路复用的作用?可用的回答 : 基本概念 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。 IO多路复用适用如下场合: (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。 (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。 (4)如果一个服务器即要处理TCP,又要处理UDP,一般要使用I/O复用。 (5)如果一个服务器要处理多个服务或多个协议,一般要使用I/O复用。 与多进程和多线程技术相比,I/O多路复用技术的最大优势是系统开销小, 系统不必创建进程/线程,也不必维护这些进程/线程,从而大大减小了系统的开销。 问题 Q5:如何在python中使用三元运算符?可用的回答 :三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:三元运算符是用于显示条件语句的运算符。这包含true或false值,并且必须为其评估语句。其基本语法为:on_true if expression else on_false问题 Q6:Python里面match()和search()的区别?可用的回答 :re模块中match(pattern,string,flags),检查string的开头是否与pattern匹配。re模块中research(pattern,string,flags),在string搜索pattern的第一个匹配值。问题 Q7:谷歌的无头浏览器?可用的回答 : 无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 Python中selenium模块中的PhantomJS即为无界面浏览器(无头浏览器):是基于QtWebkit的无头浏览器。 问题 Q8:为何基于tcp协议的通信比基于udp协议的通信更可靠?可用的回答 : TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。 而UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。 不过UDP的发送速度是TCP比不了的,而且UDP的反应速度更快。 问题 Q9:cookie 和session 的区别?可用的回答 : 1、cookie数据存放在客户的浏览器上,session数据放在服务器上。 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。 4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。 5、建议: 将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中 问题 Q10:为何基于tcp协议的通信比基于udp协议的通信更可靠?可用的回答 : TCP的可靠保证,是它的三次握手双向机制,这一机制保证校验了数据,保证了他的可靠性。 而UDP就没有了,udp信息发出后,不验证是否到达对方,所以不可靠。 不过UDP的发送速度是TCP比不了的,而且UDP的反应速度更快。 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:使括号有效的最小添加数题目描述如下:Given a string S of ( and ) parentheses, we add the minimum number of parentheses ( ( or ), and in any positions ) so that the resulting parentheses string is valid.Formally, a parentheses string is valid if and only if:It is the empty string, orIt can be written as AB (A concatenated with B), where A and B are valid strings, orIt can be written as (A), where A is a valid string.Given a parentheses string, return the minimum number of parentheses we must add to make the resulting string valid. Example 1:Input: ()Output: 1Example 2:Input: (Output: 3Example 3:Input: ()Output: 0Example 4:Input: ()(Output: 4 Note:S.length = 1000S only consists of ( and ) characters.给一个字符串只包含 ( 和 )。返回至少补多少个可以达成全部有效。思路:去除原来有效的,剩余多少个即为需要多少个。可做参考的解答如下:class Solution(object): def minAddToMakeValid(self, S): :type S: str :rtype: int if not S: return 0 t = S0 for i in S1:
数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是
A.线性链表
B.二叉链表
C.栈与队列
D.循环队列
下列关于数据结构中队列的描述中错误的是 ______。
A.队列的特点是先进先出
B.队列既能用顺序方式存储,也能用链接方式存储
C.队列使用于二叉树对称序周游算法的实现
D.队列使用于树的层次次序周游算法的实现
按照“后进先出”原则组织数据的数据结构是( )。
A.队列
B.栈
C.双向链表
D.二叉树
A.链表结构
B.树状结构
C.堆栈结构
D.队列结构