![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题
文章平均质量分 67
yiiiiivaker
这个作者很懒,什么都没留下…
展开
-
哈希表基本知识简介
文章目录一、哈希表简介二、哈希函数2.1直接定址法2.2 除留余数法2.3平方取中法2.4 基数转换法三、哈希冲突3.1 开放地址法2.读入数据总结 一、哈希表简介 哈希表:也叫做散列表,是根据关键字和值(Key Value)直接进行访问的数据结构,即通过一个关键字Key和一个映射函数Hash计算出对应的值Value,然后把键值对映射到表中一个位置来访问记录,以加快查找的速度,这个映射函数叫做哈希函数,用于存放记录的数组叫做哈希表。 关键在于如何使用哈希函数: 向哈希表中插入一个关键字:哈希函数决定该关原创 2022-03-09 15:45:27 · 2052 阅读 · 0 评论 -
【算法】常见十种排序算法总结
文章目录一、排序简介二、常见排序算法2.1冒泡排序2.2选择排序2.3 插入排序2.4 希尔排序3.5 归并排序2.6 快速排序2.6堆排序3.8计数排序2.9 桶排序2.10 基数排序 一、排序简介 排序:将一组无序的记录序列按照某种逻辑顺序重新啊脾虚,调整为有序的记录序列的过程。 根据排序过程中中涉及存储器的不同,将排序算法分为两大类: 内部排序算法:参加排序的数据量不太大,在排序过程中将全部记录存放在内存处理中; 外部排序算法:参加排序的数据量较大时,以至于内存不足以一次存放全部记录,需要通过内存原创 2022-03-03 15:50:36 · 373 阅读 · 0 评论 -
【数据结构】双指针的基本知识简介
文章目录一、常见的指针结构 一、常见的指针结构 1、同速指针:链表上两个指针,一个先出发,另一个后出发并以相同的速度跟随。 求链表的逆:通过临时指针让双指针同步前行; 求链表倒数第k个元素:先让其中一个指针向前走k步,接着两个指针以同样的速度一起向前进,直到前面的指针走到尽头了,则后面的指针即为倒数第k个元素。 2、快慢指针:链表上两个指针从同一节点出发,其中一个指针前进速度比另一个指针快。 计算链表的中点:快慢指针从头结点出发,每轮迭代中,快指针向前移动两个节点,慢指针向前移动一个节点,最终当快指原创 2022-02-26 14:58:20 · 510 阅读 · 0 评论 -
位运算的基本知识点简介
文章目录1、原码、反码和补码2、按位非操作3、按位与操作&4、按位或操作|5、按位异或操作^6、按位左移操作<<7、按位右移操作>> 1、原码、反码和补码 二进制有三种不同的表示形式:原码、反码和补码,计算机内部用补码来表示。 原码:二进制表示,第一位是符号位; 反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反); 补码:正数的补码就是原码,负数的补码是反码+1; 2、按位非操作 ~就是把num的补码中的0和1全部取反,有符号正数的符号位在~运原创 2022-02-25 21:16:16 · 173 阅读 · 0 评论 -
【数据结构】树的基本知识点
文章目录前言一、基本概念1.1 树的基本概念1.2 二叉树二、树的基本操作2.1 数的存储结构2.2 树的增删改查2.3 二叉树的深度优先搜索(DFS)2.4 二叉树的广度优先搜索(BFS) 前言 结合leetcode效果更佳: 一、基本概念 1.1 树的基本概念 根结点:非空树处理最上层的唯一节点,其余节点都是它的子孙后代; 节点的度:节点具有的孩子节点个数; 叶子节点:度为0的节点; 父子节点:直接相连的一对节点,处于上层的是父节点,处于下层的是子节点 兄弟节点:由同一个父节点生出的不同节点互称兄弟原创 2022-02-23 19:40:45 · 897 阅读 · 0 评论 -
【数据结构】栈的基本知识简介
文章目录一、栈简介二、栈的插入2.1栈的顺序存储基本描述2.2栈的链式存储实现三、栈的应用 一、栈简介 栈(stack)是一种线性表结构,只允许在表的一端进行插入和删除操作的线性表。简单来说,栈一种后进先出(Last In First Out)的线性表,简称为LIFO结构。 把栈中允许插入和删除的一端成为栈顶(top);另一段则成为栈底(bottom)。当表中没有任何元素是,称为空栈。从两个方面来解释栈的定义: 线性表:栈首先是一个线性表,按照次序依次进栈,栈顶元素为ana_nan。 后进先出原则:每原创 2022-02-18 19:12:23 · 3460 阅读 · 0 评论 -
【数据结构】链表的基础知识简介
写在前面:配合leetcode题目效果更好。 一些需要注意的知识点。 头结点的值是没有意义的; 判断带有头结点链表为空的条件是head.next==None 关于链表的操作都可以概括为:判断操作是否有意义(长度)——找到指定位置——进行操作; 文章目录一、插入结点二、删除元素三、创建单链表3.1 尾插法创建单链表3.2 头插法创建单链表四、双链表五、循环链表 一、插入结点 带有head和不带有head相比,前者在实际应用中要简单很多,后者需要定义head为gobal变量。 将元素插入带有头结点的链原创 2022-02-16 16:17:33 · 489 阅读 · 0 评论