数据结构与算法
文章平均质量分 73
猕员桃
冲冲冲!
展开
-
排序+二分查找
排序+二分查找 1.归并排序 归并排序 核心合并两个有序的数组 开始 sum [] len 将大区间分割成多个小区间 当 begin>=end结束 调动递归函数 将原数组拆分成一个一个的区间 然后执行 merge的操作 开始的数组空间为2 merge(num [],begin end) { 分成两个区间 需要申请一块临时的空间 两个区间进行大小比较 将比较的结果放入申请的临时的数组空间中 当比较结束后 将申请的临时数组的空间里面的内容 拷贝到原数组中去(循环的放入) num[b原创 2021-05-11 22:23:28 · 455 阅读 · 0 评论 -
跳表
跳表 跳表是面试常问的一种数据结构,它在很多中间件和语言中得到应用,我们最最熟知的就有Redis跳表(zset)。跳跃表(简称跳表)由美国计算机科学家William Pugh发明于1989年。他在论文《Skip lists: a probabilistic alternative to balanced trees》中详细介绍了跳表的数据结构和插入删除等操作。 跳表(SkipList,全称跳跃表)是用于有序元素序列快速搜索查找的一个数据结构,跳表是一个随机化的数据结构,实质就是一种可以进行二分查找的有序链表转载 2021-03-12 22:01:47 · 354 阅读 · 0 评论 -
五类常见算法
五类常见算法小记 (递归与分治,动态规划,贪心,回溯,分支界限法) 1.递归与分治法 直接或间接地调用自身的算法称为递归算法。 递归是算法设计与分析中常用的一种技术,描述简单且易于理解。 分治法的设计思想是将一个规模为n难以解决的问题分解为k个规模较小的子问题,这些子问题 相互独立且 与原问题相同。 递归地解这些子问题,然后将各子问题的解合并得到原问题的解。 典型例子:Fibonacci数列,阶乘,Hanoi(汉诺)塔; 二分法搜索、快速排序、归并排序。 void hanoi(int n, char x,转载 2021-01-24 17:59:11 · 356 阅读 · 0 评论