数据结构&算法
数据结构和算法
忌冬
千涛万浪,才能淘出真金!
展开
-
数据结构大体体系
逻辑结构 线性结构 线性表 一串珠子用线连起来,这就是典型的“线性存储结构”。每颗珠子之间的关系结构也很简单,包括头尾的话,它们最少有一个关系对象,而中间的珠子无论前后都只有一个关系对象,即 one-to-one 栈 队列 字符串原创 2023-11-07 22:23:44 · 94 阅读 · 0 评论 -
时间复杂度和空间复杂度
为了找到最适合当前问题而估量“算法”的评价s。原创 2023-11-04 22:14:24 · 246 阅读 · 1 评论 -
线性表-双向链表
虽然单链表解决了如何存储关系为“one-to-one”的问题,但是其强项是从前往后访问元素,而不擅长从后往前访问元素,为了这种问题,可以考虑双向链表。前面的动态链表或者静态链表的节点都只有一个方向唯一的指针,这种链表也称为单向链表。双向链表的每个节点有两个指针,分别可以向下以及向上访问。原创 2023-11-13 14:37:32 · 60 阅读 · 0 评论 -
线性表-静态链表
静态链表兼顾了顺序表和链表的优点,其数据存储在数组中,但存储位置是随机的,而它们之间“one-to-one”的关系通过一个整型变量(游标如:序号,next 指针)维持。原创 2023-11-12 17:57:03 · 155 阅读 · 0 评论 -
线性表-动态链表
单链表具体实现方案:给每一个元素配置一个指针,每个指针都指向相邻的下一个元素。(“链”字的由来)原创 2023-11-07 22:37:05 · 233 阅读 · 0 评论 -
线性表-顺序表
属于线性表旗下的一种,所以专门存储 one-to-one 关系的数据。将数据全部存储到一整块内存空间中,数据元素之间按照次序挨个存放。原创 2023-11-06 23:03:01 · 292 阅读 · 0 评论 -
数据结构和算法的区分和学习
尼古拉斯•威茨(Niklaus Wirth)曾说过一个名言:程序 = 数据结构 + 算法(Programs = Algorithm + Data-Structures),这也导致许多编程教程将它们混合起来讲。而实际上它们之间虽然有 “1+1>2” 关系,但属于相互独立的学科。打个比方:数据结构就像去教你如何去摆放书架及书,而算法教你如何更节省时间及空间的找到你想要的书籍。总结:数据结构用于解决数据存储问题,而算法用于处理和分析数据,它们是完全不同的两类学科。原创 2023-11-04 23:22:28 · 247 阅读 · 1 评论