| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 栈、队列、链表、数组等线性数据结构+时间复杂度+哈希表(keyvalue) -> 正文阅读 |
|
[数据结构与算法]栈、队列、链表、数组等线性数据结构+时间复杂度+哈希表(keyvalue) |
线性(数据)结构是一个有序数据元素的集合。 栈和队列其实是操作受限的线性表,在插入和删除时受到了一些限制。 链表最基础的可分为单链表和双链表:
单向链表优缺点: 双向链表优缺点: 数组和链表的区别: 链表的特点: 数组的优点: 链表的优点: 时间复杂度是指执行这个算法所需要的计算工作量;而空间复杂度是指执行这个算法所需要的内存空间。时间和空间(即寄存器)都是计算机资源的重要体现,而算法的复杂性就是体现在运行该算法时的计算机所需的资源多少。 咱们谈论时间复杂度的时候,一定要充分的考虑各种场景。不能想当然,比如说有人问你,数组查询操作的时间复杂度是多少?这时候你要清楚他问的是什么,是范围查询(O(n))?还是通过下标查询(O(1))?还是通过数值去查询(O(n))? 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数/Hash函数,存放记录的数组叫做散列表。 中文名:哈希表 哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上,它的设置很灵活,只要这个地址集合的大小不超出允许范围即可。 Hash表也称散列表,也有直接译作哈希表,Hash表是一种特殊的数据结构(js的object是数据类型,Hash表是数据结构数据思想),它同数组、链表以及二叉排序树等相比较有很明显的区别,它能够快速定位到想要查找的记录,而不是与表中存在的记录的关键字进行比较来进行查找。这个源于Hash表设计的特殊性,它采用了函数映射的思想将记录的存储位置与记录的关键字关联起来,从而能够很快速地进行查找。 javascript的所有对象,包括Array对象在内实际上是基于哈希表,属性名称就是哈希表的key,而属性的值就是哈希表的值。 Hash表采用一个映射函数 f : key —> address 将关键字映射到该记录在表中的存储位置,从而在想要查找该记录时,可以直接根据关键字和映射关系计算出该记录在表中的存储位置 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 19:54:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |