![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习
李牛克思
三星Android framework开发4年,目前在阿里巴巴从事Android framework/应用开发。
展开
-
算法学习——最大连续子序列
求一组数组中和最大的连续子序列 以下展示四种方法,时间复杂度依次递减。 func1 O(N^3) func2 O(N^2) func3 O(NlogN) func4 O(N) // ConsoleApplication1.cpp: 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include int func1(int*原创 2018-01-21 10:40:32 · 869 阅读 · 0 评论 -
算法学习——栈的应用之括号匹配
本例程用数组栈实现,对于每次输入的开括号进行压栈,对闭括号则检测栈顶括号是否匹配。 匹配,则出栈;不匹配,则返回error原创 2018-01-21 18:53:29 · 398 阅读 · 0 评论 -
算法学习——栈的应用之逆波兰(后缀)表达式转换
已知一组中缀表达式,求其后主表达式 例: 中缀表达式:(1+2)*3+(4+6)*(5*6)+7 后缀表达式:1 2+3*4 6+5 6** +7+ 求解此问题通常有两种方法: 1. 利用栈来存储运算符,通过比较优先级进行出入栈操作。 2. 将中缀表达式转换为二叉树,对二叉树进行后序遍历。 本文着重分析并实现方法1. 对于栈解法,应遵循以下原则: 1. 数字直原创 2018-01-22 00:23:07 · 633 阅读 · 0 评论 -
算法学习——递归枚举法
求数组中任取N个元素的所有可能组合 输入:数组arr{1,2,3,4,5,6} 数组长度6, 取4个元素 输出:四个元素的排列组合 #include "stdafx.h" #include #include int arr[] = { 1, 2, 3, 4, 5, 6 }; int res[4]; int len = 6; int num = 4; void dfs(int star原创 2018-01-19 23:11:18 · 636 阅读 · 0 评论