随笔分类 - C++/JS算法
对算法的研究
摘要:一.前提知识(分治思想) 将原问题分解为几个规模较小但类似与原问题的子问题,递归的求解这些子问题,然后再合并这些子问题的解来建立原问题的解。 分治模式在每层递归时都有三个步骤: 1.分解原问题为若干子问题,这些子问题是原问题的规模较小的实例。 2.解决这些子问题,递归地求解各子问题。当子问题的规模足
阅读全文
摘要:问题:通过冒泡算法将数组a等于[2,5,1,4,7]从小到大排序输出。 思路:冒泡算法又叫起泡算法,采取的策略是两层循环遍历数组,通过比较来交换位置。例如第一次遍历2和5比较2小于5,不交换,5和1比较,5大于1,则交换。 最后将最大的数起泡到数组的最后面。 void Bubble(int a[],
阅读全文
摘要:一.时间复杂度 定义:在一个算法流程中,所需要的运行时间,一般用O表示。 以下用查找算法为例向大家说明时间复杂度 问题:给你一个数组(已排序),查找某一给定元素,输出下标。方法一:直接按址查询 void serach(int a[],int b,int n) { for(int i = 0;i<n;
阅读全文

浙公网安备 33010602011771号