`

面试请说说链表和数组

 
阅读更多

面试请说说链表和数组

 

 

                        链表                                           数组

 

长度               不固定                                          固定

内存连续         不要求                                         连续内存

内存使用         不浪费                                         可能浪费内存

追加节点         容易                                            尾部又空的话容易

插入节点         容易                                            难--移动后面的节点

删除               容易                                             难--移动后面的节点

随机访问        不支持的                                     下标随机访问

分享到:
评论

相关推荐

    程序员面试攻略 part1(共2个)

    3.9 面试例题:空链表与循环链表48 第4章树和图53 4.1 树53 4.1.1 二元树54 4.1.2 二元搜索树55 4.1.3 堆57 4.1.4 常用的搜索方法58 4.1.5 遍历58 4.2 图59 4.3 面试例题:左遍历59 4.4 面试例题:左遍历...

    程序员面试攻略part 2(共2个)

    3.9 面试例题:空链表与循环链表48 第4章树和图53 4.1 树53 4.1.1 二元树54 4.1.2 二元搜索树55 4.1.3 堆57 4.1.4 常用的搜索方法58 4.1.5 遍历58 4.2 图59 4.3 面试例题:左遍历59 4.4 面试例题:左遍历...

    iOS开发高级程序员面试题-答案.pdf,这是一份不错的文件

    知识点:数组和链表是两种不同的数据结构,数组元素在内存中连续存放,而链表元素在内存中不是顺序存储的。 3. 发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进行下一步操作。而发送异步请求...

    高薪程序员面试题精讲系列49之说说ConcurrentHashMap#put方法的源码及数。。。.pdf,这是一份不错的文件

    其底层结构主要包括三个部分:链表数组、哈希桶和节点。本文主要关注put方法的实现,因此我们将对ConcurrentHashMap的数据添加流程进行详细分析。 二、put方法的实现 put方法是ConcurrentHashMap中添加数据的核心...

    C 语言数据结构题集

    链表不同于数组,它的元素在内存中不是连续存储的,而是通过指针连接。链表分为单链表、双链表和循环链表等类型。在单链表中,每个节点包含数据和指向下一个节点的指针;双链表则额外有一个指针指向前一个节点;循环...

    IT java 面试题库

    - `LinkedList`: 双向链表,适用于频繁插入和删除的场景。 - `HashSet`: 基于哈希表实现的Set接口,不允许重复元素。 - `HashMap`: 基于哈希表实现的Map接口,存储键值对。 - `TreeSet`: 实现了SortedSet接口,...

    Java面试八股文十万字总结.docx

    ### Java面试核心知识点详解 #### 一、Java基础篇 **1. Java语言的特点** - **面向对象**:Java是一种完全面向对象的语言,支持封装、继承、多态。 - **平台无关性**:通过JVM实现了跨平台的能力,编写一次,到处...

    值得收藏的2017年Java开发岗位面试题

    数组和链表的操作效率取决于具体情况,数组查找速度快但插入删除慢,链表查找速度慢但插入删除快。 9. Java内存泄露的问题调查定位:jmap,jstack的使用等等。 Java内存泄露可以使用jmap和jstack工具来调查定位,...

    Java后端技术面试汇总-2019

    - **说说线程安全问题**:在多线程环境下,确保数据的一致性和正确性。 - **重入锁的概念**:支持同一个线程多次获得同一把锁。 - **产生死锁的四个条件**:互斥条件、请求与保持条件、不剥夺条件、循环等待条件。...

    超级有影响力霸气的Java面试题大全文档

     ArrayList 和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【数据结构】数组与链表的优缺点 139 【算法】什么是hash? 140 【算法】排序 141 【算法】冒泡排序 141 【算法】快速排序 142 【算法】归并排序的过程?时间复杂度?空间复杂度? 143 【算法】什么是一致性哈希?...

    java offer收割指南

    ArrayList 是基于数组实现的,LinkedList 是基于链表实现的。ArrayList 的随机访问速度快,但插入和删除元素速度慢。LinkedList 的随机访问速度慢,但插入和删除元素速度快。 类实例化顺序 5. 讲讲类的实例化顺序...

    java面试宝典

    ### Java面试宝典知识点梳理 #### 一、基础概念与语法 **1. ".java"文件是否必须以.java为扩展名?** - **答案:** 不一定非得使用.java作为扩展名,但这是约定俗成的做法,易于识别并被开发工具支持。 - **解释:*...

Global site tag (gtag.js) - Google Analytics