![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
AI小笔记
人一能之,己百之;人十能之,己千之。
展开
-
动态规划
从斐波拉契数列看动态规划分别使用递归和非递归的方法来解决。#子问题重复计算def fibnacci(n): if n == 1 or n == 2: return 1 else: return fibnacci(n - 1) + fibnacci(n - 2)#动态规划(DP)的思想 = 递推式 + 重复子问题def fibnacci_no_recurision(n): f = [0, 1, 1] if n > 2:原创 2020-09-28 14:37:38 · 127 阅读 · 0 评论 -
贪心算法
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出当前看来最好的选择。也就是说,不从整体最优解上加以考虑,他所做出的是在某种意思上的最优解。贪心算法并不会保证得到最优解,但是在某些问题上贪心算法的解就是最优解。要会判断一个问题是否能用贪心算法来计算。找零问题:假设商店老板需要找零n元钱,钱币面额有:100元、50元、20元、1元,如何找使得所需钱币的数量最少?t = [100, 50, 20, 5, 1]def change(t, n): m = [0 for _ in range(原创 2020-09-27 18:08:53 · 199 阅读 · 0 评论 -
二叉搜索树的查询、插入、删除
# -*- coding:utf-8 -*-# @Time : 2020/9/23 15:56# @Author: JulyLi# @File : bst.pyclass BiTreeNode: def __init__(self, data): self.data = data self.lchild = None self.rchild = None self.parent = None"""删除操作:1.如果要原创 2020-09-23 18:56:01 · 154 阅读 · 0 评论