博客
标签
归档
博客
标签
归档
Xinon
博客
源码
Github账号
C++中的哈希表
最近刷题经常使用到哈希表。 哈希表 官方定义: 哈希表是根据关键码的值而直接进行访问的数据结构。 数组其实就是一张最基础的哈希表。 它的下标数字作为键(key)对应一个值(value)。 比如: a[key] = value; 键不能相同,但值可以相同。 哈希表可以用来快速检索一个元素。 比如我们拿学生的名字作为键(key),ta所在的宿舍作为值(key)。 我们要查询一个学生在哪个宿...
2023-08-22
阅读全文
数组与指针
数组 我们都知道访问数组的一个元素可以通过下标访问。 例如 123456int a[5] = { 1,2,3,4,5 }; //初始化printf("%d %d", a[0], a[1]);-----output:1 2 通过下标我们访问了数组a的第0个和第1个元素。 但是数组的下标访问本质是编程语言的一个语法糖。 数组的本质是开辟一串连续的空间用...
2023-08-21
阅读全文
快慢指针与链表
当要求空间复杂度为O(1),即只使用常量额外空间时,快慢指针对于处理链表中删除重复值和判断是否有环尤为重要。 快慢指针也可称为龟兔赛跑算法。 定义一个快指针,一个慢指针,它们的移动速度是不同的,根据这个速度差,我们就能完成一些工作了。 删除重复值 例题 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 思考 首先这个链表是有...
2023-08-18
阅读全文
关于二叉树(下)
二叉搜索树是有序的。 它可以完成搜索,插入以及删除等操作。 搜索 例题 思考 因为二叉搜索树有以下几个性质。 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。 所以它的搜索效率就跟二分搜索一样很快。 使用迭代法很快就能写出来。 代码 12345678910TreeN...
2023-08-17
阅读全文
关于二叉树(中)
构造 前序和中序可以唯一确定一棵二叉树。 后序和中序可以唯一确定一棵二叉树。 前序和后序不能唯一确定一棵二叉树! 没中序遍历就无法分割了。 前序遍历&中序遍历构造 分析 首先要牢记各个遍历方法的顺序。 前序遍历是:根节点->左子树->右子树 中序遍历是:左子树->根节点->右子树 所以前序遍历的第一个元素就是整个二叉树的根节点。 同理,在中序遍历中找到...
2023-08-16
阅读全文
关于二叉树(上)
前言 最近经常刷到二叉树的题,那么好好把二叉树的相关知识点都过一下吧。 本文参考了代码随想录关于二叉树的介绍。原文链接 分类 满二叉树 一个二叉树除了叶节点外每个节点都有两个子节点,且叶节点在同一层的二叉树。就是看上去都是满的。 深度为kkk。节点数量就是2k−12^k-12k−1个。 完全二叉树 除了最底层节点没填满外,其他节点都是满的。且最底层节点必须从左到右连续! ...
2023-08-15
阅读全文
复制文本
粘贴文本
全选文本
剪切文本
站内搜索
在新标签页打开
复制图片地址
复制图片文件
常见问题
示例博客
加入社区
本站源码
主题源码
打印页面
暗黑模式
阅读模式
粘贴文本
全选文本
剪切文本
复制文本
站内搜索
必应搜索
新标签页打开
复制链接地址
复制图片
谷歌识图
常见问题
本站源码
主题源码
暗黑模式
打印页面
阅读模式