
数据结构学习
文章平均质量分 68
wcy1034036507
这个作者很懒,什么都没留下…
展开
-
算法学习笔记3:约瑟夫环及其解法
约瑟夫环及其解法约瑟夫环问题解法模拟数学数学解法代码实现C++JavaPython约瑟夫环问题约瑟夫环讲的是n个人围成1圈,第一个人从1开始报数,报到k的人将被杀掉,并从被杀掉的人的下一个人开始重新开始报数,直到只剩最后一个人,求最后留下的人的编号。假定有ABCDE5个人,报到3的人将被杀掉。则从A开始,报1,C为3,则C被杀掉,D报1,A为3,则A被杀掉,B报1,D为3,则D被杀掉,E报1,则E最终报3,被杀掉,所以最后剩下的B为胜利者。解法模拟可以使用循环链表,也可以使用队列解决。将n个原创 2022-05-04 16:13:41 · 2462 阅读 · 0 评论 -
数据结构学习:哈希表
哈希表数据结构学习:哈希表简介哈希函数的构造方法直接定制法数字分析法数据结构学习:哈希表简介**散列表(Hash Table)**也叫哈希表,是根据键(key)直接访问在内存存储位置的数据结构,所以,它是一个通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,加快了查找速度。这个映射函数称为散列函数,存放记录的数组称作散列表。哈希函数的构造方法直接定制法哈希函数为关键字的线性函数如H(key)=a∗key+bH(key) = a*key+bH(key)=a∗key+b,原创 2021-10-22 11:04:54 · 262 阅读 · 0 评论 -
数据结构学习:Trie(字典树)
Trie数据结构学习:Trie简介基本性质优缺点优点缺点bit-wise TrieTrie的数据结构Trie的操作插入查找源码数据结构学习:Trie简介Trie,又称字典树、前缀树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在结点中,而是由结点在树中的位置决定。一个结点的所有子孙都有相同的前缀,也就是这个结点对应的字符串,而根结点对应空字符串。一般情况下,不是所有结点都有对应的值,只有叶子结点和部分内部结点所对应的键才有相关的值。trie中的键通常是字符原创 2021-10-20 11:43:12 · 243 阅读 · 0 评论 -
数据结构学习:二叉搜索树
二叉搜索树数据结构学习:二叉搜索树简介基本操作1、查找2、插入3、构造4、删除源码数据结构学习:二叉搜索树简介二叉搜索树,又称二叉排序树,要么是空树,要么是具有如下性质的二叉树:如果它的左子树非空,则左子树的所有结点的值均小于它的根结点的值;如果它的右子树非空,则右子树的所有结点的值均大于它的根结点的值;左右子树均为二叉搜索树。它是一种经典的数据结构,具有链表的快速插入与删除操作的特点以及数组快速查找的优点。基本操作1、查找递归查找是否存在key。2、插入原树中不存在key,原创 2021-10-17 09:23:17 · 159 阅读 · 0 评论