数据结构与算法
文章平均质量分 72
Ivan陈哈哈
CS研究生在读,目前AI机器学习、智慧农业方向。
展开
-
数据结构线性表部分关于顺序表部分初始化、增删改查、排序以及顺序表反转的代码实现
代码注释部分已经很详细啦,直接看代码就好 代码思路: 头文件 结构体类型定义 函数声明 { } 函数实现 { 增删改查 排序 倒置 判空 判满 ... } 主函数 { 调用测试案例 } #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <malloc.h>//内存的申请,free用于释放 #include <stdlib.h>//包含了exit函原创 2022-03-07 18:15:34 · 889 阅读 · 0 评论 -
Algorithm Experiment:动态规划算法——矩阵连乘问题【Dynamic programming algorithm -- matrix multiplication problem】
矩阵连乘问题一、算法的基本思想和应用要点二、 问题描述三、理论分析四、算法实现4.1代码实现4.2关键代码说明实验总结参考书籍 一、算法的基本思想和应用要点 动态规划与分治法相似,都是采用将大问题分成小问题,然后组合小问题的解德奥大问题的解的方法。不同的是,分治法中的小问题之间是相互独立的,而动态规划中的小问题之间是重叠的。即:在子问题重叠的情况下,如果使用分治法就会在递归的过程中重复的执行某项工作(公共的子问题)。而动态规划算法只会对这项工作求解一次并保存下来,在下一次需要的时候直接使用这个结果,从而得到原创 2021-10-27 16:54:00 · 822 阅读 · 1 评论 -
Algorithm Experiment:递归与分治策略之棋盘覆盖问题【Recursion And Divide And Conquer Strategy——Chess Cover Problem】
棋盘覆盖问题算法的基本思想和应用要点问题描述理论分析算法实现4.1 完整的代码实现4.2 关键代码说明 算法的基本思想和应用要点 递归与分治算法是一种很经典的问题求解策略,其基本思想是:将一个规模较大的大问题,划分为多个相同相同类型规模较小的小问题,进而一次或多次递归调用自身求解小问题的解,综合所有小问题的解得到大问题的解。就这样通过不断反复的分割和综合,总可以得到能直接得到小问题解的情况,也就是我们所说的递归出口。简单的说就是:将大问题转换成相同的小问题,并且存在一个递归出口。 其应用要点可以用“分治是思原创 2021-09-29 19:49:45 · 452 阅读 · 0 评论