- 博客(4)
- 收藏
- 关注
转载 【无标题】
@首先,我们看一下官方定义:定义: 动态规划算法是通过拆分问题,定义问题状态和状态之间的关系,使得问题能够以递推(或者说分治)的方式去解决。 动态规划算法的基本思想与分治法类似,也是将待求解的问题分解为若干个子问题(阶段),按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其他局部解。依次解决各子问题,最后一个子问题就是初始问题的解。基本思想与策略编辑: 由于动态规划解决的问题多数有重叠子问题这个特点
2023-04-01 10:59:51
90
原创 简单的二叉排序树操作
#include<stdio.h>#include <stdlib.h>#include <string.h>#define OVERFLOW 0#define OK 1#define ERROR 0#define MAXSIZE 64typedef int TElemType;typedef int Status;typedef struct BSTNode{//结点结构 TElemType data; struct BSTNode *lchi.
2021-12-20 08:06:40
112
转载 C语言不允许动态定义数组长度
C语言里,所有变量空间都是在程序运行之初向系统申请的,包括指针,除了一些动态申请方式如malloc函数。没有申请的空间系统是不允许读写的。那么如果一个数组大小是变量定义,则在程序运行前不能确定数组大小,也就无法申请,故不允许。所以,解决的办法便是通过malloc函数,即int a[n];可改为int* const a = (int*)malloc(sizeof(int)*n);这样a变量就完全可以当作一个数组直接使用了,包括a[1]之类的。因为“[]”中括号运算符做的只是偏移其内的地址数并取值。如:
2021-12-20 07:35:12
1361
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人