algorithm前言
算法基础
时间复杂度
空间复杂度
递归的含义
常见算法时间复杂度
查找
线性查找
二分查找
排序
low b 三人组
冒泡排序(bubble_sort)
插入排序(insert_sort)
选择排序(select_sort)
🐂b 三人组
堆排序(heap_sort)
归并排序(merge_sort)
快速排序(quick_sort)
希尔排序(shell_sort)
计数排序
桶排序(bucket_sort)
基数-排序
leetcode
easy
1.两数之和
20.有效的括号
242.有效的字母异位词
medium
74.搜索二维矩阵
167.两数之和 II - 输入有序数组
LCR 103. 零钱兑换
hard
数据结构
数组(Array)
栈(Stack)
迷宫问题
队列(Queue)
双向队列
迷宫问题
链表(Linked List)
头插法&尾插法
双链表(Doubly Linked List)
哈希表 or 散列表(Hash Table)
python代码实现hash table
树
二叉树(binary tree)
二叉搜索树(Binary Search Tree,BST)
B-tree/B+tree
Hash 树
AVL树
算法设计
贪心算法
找零问题
背包问题
活动选择问题
拼接最大数字问题
动态规划
斐波那契数列(引入动态规划思想)
钢条切割
最长公共子序列
欧几里得
最大公约数
加密算法
SE
RSA
设计模式
工厂模式
抽象工厂模式
简单工厂模式
建造者模式
单例模式
适配器模式
桥模式
组合模式
外观模式
代理模式
责任链模式
观察者模式
策略模式
模版方法模式
面相对象
Published with GitBook
递归的含义
递归
递归
1、定义
在函数内部,可以调用其他函数。
如果一个函数在内部调用自身本身,这个函数就是递归函数。
2、递归特性
必须有一个明确的结束条件
每次进入更深一层递归时,问题规模相比上次递归都应有所减少
递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的
每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。
由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)
results matching "
"
No results matching "
"