分类: 数据结构与算法题

26 篇文章

哈希表基础
哈希表 1、内容 1、哈希表 1、哈希表就是散列表 2、作用:一般哈希表都是用来快速判断一个元素是否出现集合里 2、哈希函数 1、 2、异位词 1、什么是异位词: 3、总结 1、哈希函数 1、把传入的key映射到符号表上的索引上 2、哈希碰撞 1、就是 处理多个key映射到相同索引上的情景,我们一般用哈希表+链表 3、三种常见的哈希结构 1、数组 …
弗洛伊德算法
弗洛伊德算法 1、什么是弗洛伊德算法 1、手算弗洛伊德算法 2、求最短路径力扣1334
链表基础
链表 1、单链表 1、对于单链表来说。要删除一个节点就需要找这个节点的前一个节点啊 2、让pre.next = temp.next这样才能有用 3、还得注意不能移动头节点啊 2、构建链表 1、对于单链表来说,无论是什么操作,都要找到要操作的节点的前一个节点 2、还有基本结构,就是Node对象创建、value的值还有next的指针。 3、一般我们会构…
数组技巧
数组 1、二分搜索法 1、注意:只要看到面试题里给出的数组是有序数组,都可以想一想是否可以使用二分法 2、还有:同时题目还强调数组中无重复元素 2、双指针 1、数组的快慢指针,主要就是快指针赋给慢指针,然后最终返回慢指针15 2、这是主要思路 3、参考27题、26题 3、滑动窗口 1、本质上也就是一个双指针 2、一般用来解决长度最小的子数 3、注意…
第七章、图 ❗7.1、图的定义和基本术语 7.1.1、定义 1、图 ❗1、完全图 2、邻接()是无向图,<>是有向图、稠密图、稀疏图、网、关联(依附) 3、度 ①有几个边就是几个度 ②如图 4、有向树 ①有且仅有1个顶点的入度(指向它的) ②其余顶点的入度均为1 ③出度没限制 ④就是有向树 5、路径相关概念 6、连通图(强连通图是有向图…
树、二叉树
第六章、树和二叉树 6.1、树 ❗6.1.1、树的定义 1、定义 1、树是n个节点的有限集,显然,树的定义是一个递归的定义 2、如果n=0则称为空树 3、如果n>0则满足以下两个条件 4、有且仅有一个特定的称为根的节点 5、其余节点可分为m(m>=0)个互不相交的有限集,其中每一个集本身又是一棵树,称为根的子树 。 2、树的其他表示方式…
串、数组、广义表
第五章、串、数组和广义表 5.1、串(也叫字符串) 5.5.1、串的定义—几个术语 1、定义 2、子串:一个串中任意个连续字符组成的子序列(含空串)称为该串的子串 3、真子串:是指不包含自身的所有子串 4、主串:包含子串的串 5、字符位置:字符在序列中的序号为该字符在串中的位置 6、子串位置:子串第一个字符在主串中的位置 7、空格串:由一个或多个空…
栈、队列、堆
第四章、栈和队列、堆 4.1、栈和队列的定义和特点 1、栈和队列是两种常用的、重要的数据结构 2、栈和队列是限定插入和删除只能在表的“端点”进行的线性表 3、栈和队列是线性表的子集合(是插入和删除位置受限的线性表) 4.1.1、栈(stack)定义和特点 1、栈:特殊的线性表,是限定仅在一端(通常是表尾)进行插入和删除操作的线性表 2、又称为后进先…
线性表
第三章、线性表 3.1、线性表的定义 1、线性表(List):零个或多个数据元素的有限序列。 2、线性表, (1)第一个元素a1,只有一个直接后继,没有直接前驱 (2)最后一个元素an,只有一个直接前驱,没有直接后继 (3)其他a1-an的数据中,都只有一个直接前驱和后继,有多个间接前驱和间接后继 (4)空表:线性表元素的个数n(n>=0)定…
数据结构与算法【基本介绍】
第一章、数据结构绪论 1、4基本概念和术语 数据 1、数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识 别,并输入给计算机处理的符号集合 (1)eg:网页、视频、音乐等 数据元素 1、数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处 理。 也被称为记录 (1)eg:哈 , 牛、马、羊、鸡、猪、 狗等动物当然…