comic-algorithm-php
PHP 实现《漫画算法》 && 其他一些算法相关的东东
概述
常见的数据结构
线性:数组、链表;栈、队列、哈希表等 树:二叉树、Trie、二叉堆、红黑树等 图 其他:跳表、哈希链表、位图等数组
下标从 0 开始,一直到数组长度 -1 在内存中顺序存储 随机读取, O(1) 更新元素, O(1) 插入元素,O(n) 删除元素,O(n) 优势:高效的随机访问能力 劣势:插入和删除效率不高适合读操作多,写操作少的场景。
链表
物理上非连续、非顺序的数据结构,由若干节点所组成。
第一个节点称为头节点,尾节点的 next 指针指向空。
链表在内存中的存储方式是随机存储,可灵活有效地利用零散的碎片空间。
小结
数组的优势在于能够快速定位元素,对于读操作多、写操作少的场景更为适合。
链表的优势在于能够灵活地进行插入和删除操作,如果需要在尾部频繁插入、删除元素,用链表更加合适。
物理结构和逻辑结构
常见的数据结构有很多,但大多数都是以数组或链表作为存储方式。
物理结构:数组和链表,都是内存中实实在在的存储结构; 逻辑结构:是抽象的概念,依赖于物理结构而存在。物理结构:
顺序存储结构:数组 链式存储结构:链表 逻辑结构: 线性结构:顺序表、栈、队列 非线性结构:树、图栈和队列
都属于逻辑结构,它们的物理实现既可以利用数组,也可以利用链表;二叉树也是一种逻辑结构,也可以依托于物理上的数组或链表来实现。
栈
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。
3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考学习用!
4、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。