数据结构与算法
文章平均质量分 85
lbcab
这个作者很懒,什么都没留下…
展开
-
贪心算法介绍与使用
贪心算法思想: 贪心算法不是从整体来考虑, 而是在某种意义上在局部做出最优选择. 对于有些问题局部最优不能代表整体最优选择,是不能使用贪心算法,例如01背包问题.贪心算法是自顶向下的方式分解各子问题, 用迭代的方式相继做出贪心选择, 每一次的选择的子问题再简化成规模更小的问题来选择。由于贪心算法与动态规划很类似, 在解决问题时需要确定问题是否具有贪心选择的性质.贪心算法原创 2016-05-08 20:23:01 · 2920 阅读 · 0 评论 -
c++ 中缀表达式转后缀表达式并计算值
什么是中缀表达式, 前缀表达式, 后缀表达式?在数据结构中, 二叉树的遍历有三种(这里不考虑分层遍历等特殊需求): 前序遍历, 中序遍历和后序遍历. 如果将表达式看做一颗二叉树, 那么中缀表达式, 前缀表达式和后缀表达式就是这三种遍历的结果.算数表达式本身就是中缀表达式, 也就是二叉树中序遍历的结果. 关于表达式二叉树是以运算符为根, 运算值为左右叶子. 例如表达式: 2 * 5 + 6 *原创 2016-06-07 13:26:11 · 12135 阅读 · 4 评论 -
c++ 常见排序算法汇总
1.快速排序算法 最坏时间复杂度为O(n*n), 这与基数的选择有关, 期望的运行时间为O(nlgn),且O(nlgn)记号中隐含的常数因子很小。另外,它还能够进行就地排序.快速排序逻辑: 1、先从数组中取出一个数作为基数,基数的选择对排序效率的影响很大, 一般随机来选择. 2、分区,将比这个基数小的数全部放到它的左边,比基数大的数全部放到其右边 3、对左右两个区间重复第二步,直到每个区间只原创 2016-10-20 13:52:02 · 1842 阅读 · 0 评论