![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
weixin_41065383
这个作者很懒,什么都没留下…
展开
-
动态规划----算法导论中的理解与leetcode实践
前言动态规划(dynamic programming):考虑“当前问题”的每种“切割”下,分化为与当前问题形式相同的子问题,这些子问题的最优解通常已在“前面”的步骤中求得并记录与备忘录(memo)中,然后在“当前问题”下,比较每种“切割”的“子最优解”,选取“最优切割方案”及对应的“子最优解”记录于备忘录中,以供后续问题作参考。注:(1)原问题的代价为:子问题的最优解的代价再加上这次切割的选...原创 2019-04-19 15:50:36 · 493 阅读 · 0 评论 -
常见的排序算法与python实现
前言**排序算法(Sorting algorithm)**是一种能将一串数据依照特定顺序进行排列的一种算法。冒泡排序冒泡排序(Bubble Sort),重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。具体思路:比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。对每一对相邻...原创 2019-04-19 20:59:07 · 375 阅读 · 0 评论 -
二叉树及其遍历方法----深度优先搜索与广度优先搜索(Python实现)
前言二叉树(binary tree)是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)二叉树的节点表示以及树的创建:class Node(object): """节点类""" def __init__(self, elem=-1, lchild=None, rchild=None): ...原创 2019-04-19 21:39:30 · 582 阅读 · 0 评论