
数据结构与算法
文章平均质量分 58
数据结构、算法
Quan_2022
把每一招、每一式融会贯通,然后尽量忘得一干二净
展开
-
面试官:我们写一道排序 —— 八大排序C++实现,详解
排序作为算法的基础,是很多面试官喜欢考察的重点之一,排序的种类繁多,但是有规可循,本文分析了常见的八大排序。 术语解释: 1、稳定排序: 如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。 2、非稳定排序: 如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序。 3、原地排序: 原地排序就是指在排序过程中不申请多余的存储空间,只利用原来存储待排数据的存储空间进行比较和交换的数据排序。 4、非原地排序: 需要利用额外.原创 2021-08-25 22:32:38 · 466 阅读 · 2 评论 -
处理哈希冲突的方法
处理哈希冲突的方法 1、线性探测法 概念:一旦发生了哈希冲突,就去寻找下一个空的存储地址,只要哈希表的足够大,总能找到空的存储地址,并存入哈希表中。其公式可表示为: fi(key)=(f(key)+di)%m (di=1,2,3,...,m-1) 线性探测法的弊端是:若关键字的位置都聚集在一块儿,就需要不断处理冲突,导致存入效率、查找效率大大降低。 进一步考虑另一种情况,若哈希表的长度为10,对应的下标位置为0~9,假设只有位置5是空的,现在利用除留原创 2021-07-12 17:46:57 · 788 阅读 · 0 评论 -
一文带你入门红黑树,从树到红黑树的进化
一文带你入门红黑树,从树到红黑树的进化 树是数据结构里十分基础又十分重要的结构,它的应用很广泛。同时它也是数据结构和算法中重要的部分。算法经常会考察二叉树的一些操作,在面试中平衡二叉搜索树、红黑树(RB-Tree)也是考核的重点,这类题大多考察我们对树这类数据结构的掌握程度。本文从树的导览出发,从 树到二叉树、平衡二叉搜索树一直到AVL树,AVL树的插入、AVL树的旋转、最后再到红黑树、红黑树的插入、旋转与变色,带你逐步掌握红黑树的这种数据结构。 1.1树的导览 1.2 二叉搜索树(binary s原创 2021-04-02 20:19:51 · 187 阅读 · 4 评论