![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
guo-snowstorm
在校学生
展开
-
堆(heap)和栈(stack)的区别
简单的可以理解为: heap:是由malloc之类函数分配的空间所在地。地址是由低向高增长的。 stack:是自动分配变量,以及函数调用的时候所使用的一些空间。地址是由高向低减少的。 预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据转载 2016-06-04 09:11:11 · 360 阅读 · 0 评论 -
求最大连续子序列的和
问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如:序列:-2 11 -4 13 -5 -2,则最大子序列和为20。序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。算法一://穷举法,复杂度O(n^3) long maxSubSum1(c转载 2016-08-18 13:08:50 · 437 阅读 · 0 评论 -
前序、中序、后序表达式的相互转换问题
这是一个常考的问题,现在总结一下:一、前序表达式转换为中序表达式:从右往左开始,取出一个操作符和操作符右边的两个数进行计算,并将计算的结果放过去,直到计算结束。以前序表达式“+/*23-21*3-41”为例,将其转换为中序表达式:(1)取出“-”、4、1,计算并将结果放回得到“+/*23-21*3(4-1)”;(2)取出“*”、3、(4-1),计算并将结果放回得到“+/*23-21原创 2016-08-18 11:30:48 · 10010 阅读 · 2 评论