`
freizl
  • 浏览: 3804 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Linked-List 的数组实现

阅读更多
疑问出自 <Introduction to Algorithms, 2nd Edition>
        10.3 Implementing pointers and objects




如上图是linkedlist  9 -> 16 -> 4 -> 1 的数组形式实现
疑问:
为何需要长度为8的数组, key 确只有4个。
每个对象 (垂直的3元数组) 是怎么确定其在数组L中的位子,
阴影部分是干嘛的?

谢谢
  • 大小: 13.9 KB
分享到:
评论
2 楼 freizl 2012-11-25  
Heart.X.Raid 写道
这是一种静态链表结构,链表中的每个结点都存放在一片连续的内存空间里(数组中)。

C的数组是不能动态生成的,必须在编译阶段就指定连续空间的大小。因此往往一开始就开辟一个足够大的空间来存放,如果空间不够再重新开辟。

数组长度8,只有4个key说明还可以加入新的链表结点,阴影部分用来存放以后再加入的新结点。这不是什么问题,你的数据结构还要好好的学学。


厉害厉害。多谢指点。
1 楼 Heart.X.Raid 2010-05-10  
这是一种静态链表结构,链表中的每个结点都存放在一片连续的内存空间里(数组中)。

C的数组是不能动态生成的,必须在编译阶段就指定连续空间的大小。因此往往一开始就开辟一个足够大的空间来存放,如果空间不够再重新开辟。

数组长度8,只有4个key说明还可以加入新的链表结点,阴影部分用来存放以后再加入的新结点。这不是什么问题,你的数据结构还要好好的学学。

相关推荐

    JS中的算法与数据结构之链表(Linked-list)实例详解

    本文实例讲述了JS中的算法与数据结构之链表(Linked-list)。分享给大家供大家参考,...然而,JS中数组却不存在上述问题,主要是因为他们被实现了成了对象,但是与其他语言相比(比如C或Java),那么它的效率会低很多。

    linked-list:将数组变成无状态链表

    链表 将一个数组变成一个无状态的链表。 npm install @skidding/linked-list或yarn add @skidding/linked-list 以了解用法。

    js-linked-list:柔和但令人放心的Javascript单链列表介绍

    链表 目标 ... 让我们退后一步,仔细看一下数组。 他们的真实本性可能会让您惊讶! 阵列将数据存储在一个连续的计算机内存块中。 创建阵列时,计算机仅留出足够的内存。 您可以将计算机的内存想象成

    leetcode给单链表加一js实现-what-is-a-linked-list:算法和数据结构

    给单链表加一js实现第 1-2 天:实现链表 分叉然后克隆我! 今天我们将实现一个链表,更具体地说是一个单链表,或者简单的链表(它有几个名字)。 链表由相互连接的节点组成。 它类似于数组,因为它由按特定顺序排列...

    fortran-linked-list:Fortran 模块显示如何使用无限多态派生类型在 Fortran 中实现链表

    fortran 链表模块Fortran 模块,用于使用 Fortran 2003 无限多态指针创建链表。 该模块目前用作使用 Fortran 2003 无限多态... 早期版本的 GFortran 存在字符数组项的问题,因此请避免使用旧版本的 GFortran 编译器。

    九章算法之链表与数组(Linked List & Array)

    九章算法之链表与数组(Linked List & Array) 多看多思考

    springMVC poi解析ajax上传excel文件,返回json对象\list数组

    解析通过MutilpartFile导入的Excel并解析里面数据,先判断文件的类型(excel处理有两种此处为两种通用)是.xls/.xlsx,采用Apache的POI的API来操作Excel,读取内容后保存到List中,再将List转Json(使用Linked,增删快...

    recommended-problems

    数组 散列 链表 https://leetcode.com/problems/reverse-linked-list/ https://leetcode.com/problems/linked-list-cycle/ https://leetcode.com/problems/merge-two-sorted-lists/ 2D阵列 ...

    leetcode添加元素使和等于-leetcode:力码

    leetcode添加元素使和等于 总结 按照类别分类来刷 刷当前题的时候,看下『题目描述』最底下有个『相似题目』,这些题的思路...linked-list-cycle-ii reverse-nodes-in-k-group 二叉树 实现一个二叉树 二叉树二叉树的

    数据结构讲义

    数据结构讲义 List--Based on array 用数组实现列表 List—Based on vector 用动态数组实现列表 List—Based on linked list 用链表使用列表

    lrucacheleetcode-LeetCode-Python:数据结构和算法的学习

    数组 Greedy 贪婪算法 Stack 栈/Queue 队列 Recursion 循环/Backtrace 回溯 Priority Queue 优先队列 In/Pre/Post-order Traversal 中序/前序/后续遍历 Linked List 链表 Breadth-first/Depth-first search 广度优先...

    全面的算法代码库

    指针版的单向链表 Singly-Linked-List(Pointer) 跳表 Skip-List ST表 Sparse-Table 伸展树 Splay 博弈论SG函数 Sprague-Grundy 栈的基本操作 Stack 递推法求解无符号第一类斯特林数 Stirling-Number(Cycle,...

    算法:in一堆语言中的一堆算法:sparkles:

    列出的订购问题是有目的的,建议遵循 :books: 数组标题推荐的订单号Leetcode# 困难标签解加一1个 简单数组 / / / / 两次和2简单数组,哈希图 / / / / / 有效括号3 简单数组,堆栈/最大子阵列4 简单数组 / /字符串...

    leetcode双人赛-js-structures:JS结构体问题及解决方法

    最小堆,使用值数组 [] JS 帮手 Autogenerate a balanced binary search tree - 对于给定的初始值,自动生成平衡二叉搜索树。 [] 算法 BFS JS实现2 Leetcode问题解决 问题 洪水填充问题(已解决):油漆问题。 给定...

    ist的matlab代码-sdp-samples:C++中用于数据结构的样本

    merge-sort-linked-list.cpp-模板化链接IST上的常规合并排序 merge-sort-static-list.cpp-在静态列表上合并排序(不是那么聪明的实现) 堆 堆栈-包含堆栈的静态,固定大小和链接的实现。 StackTest-使用自定义单元...

    algorithm-homework

    反转链表, reverse-linked-list.ts K 个一组翻转链表, reverse-nodes-in-k-group.ts 旋转数组, rotate-array.ts 滑动窗口最大值, sliding-window-maximum.ts 两两交换链表中的节点, swap-nodes-in-pairs.ts 三数之和...

    C#,双向链表(Doubly Linked List)快速排序(Quick Sort)算法与源代码

    C#,双向链表(Doubly Linked List)快速排序(Quick Sort)算法与源代码。双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始...

    Java集合容器面试题

    ArrayList基于数组实现,Vector基于数组实现,Linked List基于链表实现。 多线程场景下如何使用ArrayList 多线程场景下如何使用ArrayList?使用Collections.synchronizedList()方法可以同步ArrayList。 为什么...

    leetcode题库-leetcode-js:数据结构与算法学习&leetcode题解

    ./src/data-structures/linked-list/__test__/LinkedListNode.test.js 代码 Lint 校验:npm run lint 配置了 husky pre-commit hooks,提交代码之前校验代码和执行单元测试 算法学习参考资源 在线算法题库: 或者 ...

    dsa-unit-tests-java-gen:Java的数据结构单元测试-通用

    下面是MAC和Unix下载档案(例如DSA-Linked-List.zip或DSA-Dynamic-Array.zip等)提取到本地机器将您的实现包复制到“ src”目录中对于链表,您可以将“链表”包(dir)复制到“ src”中对于动态数组,您可以将“ ...

Global site tag (gtag.js) - Google Analytics