
算法基础和思维
文章平均质量分 92
加油
快乐的阿江江
技术/产品经理
展开
-
动态规划矩阵连乘问题
动态规划基本思想和学习目的 动态规划算法与分治法类似,其基本思想也就是将待求解的问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解,简单概括为自顶向下分解,自底向上求解。 动态规划的基本思想:用一个表来记录所有已经解决过的子问题的答案,不管该子问题在以后是否会被用到,只要它被计算过,就将其结果填入表中,以后碰到同样的子问题,就可以从表中直接调用该子问题的答案,而不需要再计算一次。 动态规划的适用场合,一般适用于解最优化问题,例如矩阵连乘问题、最长公共子序列、背包问题等原创 2020-11-04 16:15:48 · 569 阅读 · 0 评论 -
算法小抄笔记
目录必读章学习算法和刷题的框架思维一、数据结构的存储方式二、数据结构的基本操作三、算法刷题指南四、总结几句必读章学习算法和刷题的框架思维一、数据结构的存储方式只有两种:数组(顺序存储)和链表(链式存储)。队列,栈:既可以使用链表也可以使用数组实现。用数组实现,就要处理扩容缩容的问题;用链表实现,没有这个问题,但需要更多的内存空间存储节点指针。图:邻接表就是链表,邻接矩阵就是二维数组。邻接矩阵判断连通性迅速,并可以进行矩阵运算解决一些问题,但是如果图比较稀疏的话很耗费空间。邻接表比较节省空间,但转载 2020-10-19 20:18:09 · 1389 阅读 · 0 评论 -
数据结构与算法基本思想
二分查找java二分查找代码/** * 不使用递归的二分查找 *title:commonBinarySearch *@param arr *@param key *@return 关键字位置 */public static int commonBinarySearch(int[] arr,int key){ int low = 0; int high = arr.length - 1; int middle = 0; //定义middle if(key < arr[l原创 2020-10-14 19:57:34 · 1141 阅读 · 1 评论