●队列通常采用两种存储结构是 (34) 。
(34) A.顺序存储结构和链表存储结构
B.散列方式和索引方式
C.链表存储结构和数组
D.线性存储结构和非线性存储结构
● 栈和队列都是线性的数据结构。以下关于栈和队列的叙述中,正确的是 (37) 。
(37)A. 栈适合采用数组存储,队列适合采用循环单链表存储
B. 栈适合采用单链表存储,队列适合采用数组存储
C. 栈和队列都不允许在元素序列的中间插入和删除元素
D. 若进入栈的元素序列确定,则从栈中出来的序列也同时确定
答案:B
顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。
在以下的叙述中,正确的是()。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
通常,(64)应用于保护被中断程序现场等场合。
A.队列
B.堆栈
C.双链表
D.数组
A二维数组和三维数组
B三元组表和散列表
C三元组表和十字链表
D散列表和十字链表
深圳达实智能股份有限公司2月招聘面试题面试题面试官常问到的一些题目整理如下:问题 Q1:单引号,双引号,三引号的区别?可用的回答 : 单引号和双引号是等效的,如果要换行,需要符号(),三引号则可以直接换行,并且可以包含注释 如果要表示Lets go 这个字符串 单引号:s4 = Lets go 双引号:s5 = “Lets go” s6 = I realy like“python”! 这就是单引号和双引号都可以表示字符串的原因了 问题 Q2:描述数组、链表、队列、堆栈的区别?可用的回答 : 数组与链表是数据存储方式的概念,数组在连续的空间中存储数据,而链表可以在非连续的空间中存储数据; 队列和堆栈是描述数据存取方式的概念,队列是先进先出,而堆栈是后进先出; 队列和堆栈可以用数组来实现,也可以用链表实现。 问题 Q3:list和tuple有什么区别?可用的回答 :列表和元组之间的区别在于列表是可变的而元组不是。元组可以被散列,例如作为词典的关键。问题 Q4:def func(a,b=) 这种写法有什么坑?可用的回答 : def func(a,b=): b.append(a) print(b) func(1) func(1) func(1) func(1) 如:看下结果 1 1, 1 1, 1, 1 1, 1, 1, 1 函数的第二个默认参数是一个list,当第一次执行的时候实例化了一个list,第二次执行还是用第一次执行的时候实例化的地址存储, 所以三次执行的结果就是 1, 1, 1 ,想每次执行只输出1 ,默认参数应该设置为None。 问题 Q5:常见的HTTP状态码有哪些?可用的回答 : 200 OK 301 Moved Permanently 302 Found 304 Not Modified 307 Temporary Redirect 400 Bad Request 401 Unauthorized 403 Forbidden 404 Not Found 410 Gone 500 Internal Server Error 501 Not Implemented 问题 Q6:什么是Python中的迭代器?可用的回答 :在Python中,迭代器用于迭代一组元素,如列表之类的容器。问题 Q7:用尽量多的方法实现单例模式?可用的回答 : 一、模块单例 Python 的模块就是天然的单例模式,因为模块在第一次导入时,会生成.pyc文件,当第二次导入时,就会直接加载.pyc文件,而不会再次执行模块代码。 二、静态变量方法 先执行了类的_new_方法(我们没写时,默认调用object._new_),实例化对象; 然后再执行类的_init_方法,对这个对象进行初始化,所有我们可以基于这个,实现单例模式。 class Singleton(object): def _new_(cls,a): if not hasattr(cls, _instance): cls._instance = object._new_(cls) return cls._instance def _init_(self,a): self.a = a 问题 Q8:如何在Python中删除文件?可用的回答 :使用命令os.remove(filename) 删除文件 或 os.unlink(filename) 删除快捷方式问题 Q9:Python中的命名空间是什么?可用的回答 : 在Python中,引入的每个名称都有一个存在的地方,可以被连接起来。这称为命名空间。 它就像一个框,其中变量名称映射到放置的对象。每当搜索到变量时,将搜索此框以获取相应的对象。 问题 Q10:列举网络爬虫所用到的网络数据包,解析包?可用的回答 : 网络数据包 urllib、urllib2、requests 解析包 re、xpath、beautiful soup、lxml 算法题面试官常问到的一些算法题目整理如下(大概率会机考):算题题 A1:最频繁的K个元素题目描述如下:Given a non-empty array of integers, return the k most frequent elements.Example 1:Input: nums = 1,1,1,2,2,3, k = 2Output: 1,2Example 2:Input: nums = 1, k = 1Output: 1Note:You may assume k is always valid, 1 k number of unique elements.Your algorithms time complexity must be better than O(n log n), where n is the arrays size.思路:首先是计算出每个数字出现的频率,之后排序频率,输出最高的k位。字典(哈希表),sorted(排序)。可做参考的解答如下:class Solution(object): def topKFrequent(self, nums, k): :type nums: Listint :type k: int :rtype: Listint nums_dict = for i in nums: try: nums_dicti += 1 except KeyError: nums_dicti = 1 return sorted(nums_dict, key
顺序结构就是把数据存放在从某个存储地址开始的连续存储单元中。顺序结构包括静态顺序结构和动态顺序结构,其中静态顺序结构包括().
A、堆栈
B、队列
C、数组
D、线性表
队列通常采用两种存储结构是(38)。
A.顺序存储结构和链表存储结构
B.散列方式和索引方式
C.链表存储结构和数组
D.线性存储结构和非线性存储结构
数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是
A.线性链表
B.二叉链表
C.栈与队列
D.循环队列
A.链表结构
B.树状结构
C.堆栈结构
D.队列结构