2.算法分析与设计
文章平均质量分 60
国民小跟班
喜欢总结、极简主义、观点分享、懒人懒办法系列
展开
-
计算机算法分析与设计复习7(知识点简化记忆)
知识点简化记忆原创 2020-01-07 16:42:38 · 359 阅读 · 0 评论 -
计算机算法分析与设计复习6(补充和提高)
一. 递归法1. 写出递归方程2. 画递归的树图二.分治法三.蛮力法四.回溯法五.分支限界法六.贪心法七.动态规划法原创 2020-01-06 12:10:38 · 556 阅读 · 0 评论 -
计算机算法分析与设计复习5(知识点回顾与概述)
知识点总结原创 2020-01-05 12:09:00 · 557 阅读 · 0 评论 -
计算机算法分析与设计复习目录(学渣必备高分圣经)
计算机算法分析与设计复习1(基本算法框架).计算机算法分析与设计复习2(一题多解,全面复习).计算机算法分析与设计复习3(排序算法的复习).计算机算法分析与设计复习4(各类题型,逐一击破)..........原创 2020-01-04 21:32:48 · 806 阅读 · 0 评论 -
计算机算法与设计复习4(各类题型,逐一击破)
一、着色问题二、改进BF算法分析最简单的串匹配算法(BF算法),简述如何改进BF算法BF算法的原理对比过程:从主串S的第pos个字符起和模式的第一个字符进行比较,若相等,则进行逐个比较后续字符;否则从主串的下一个字符起再重新和模式的字符比较.匹配结果:依次类推,直至模式T中的每个字符依次和主串S中的一个连续的字符序列相等,则匹配成功,函数返回值为和模式T中第一个字符相等的字符在主串......原创 2020-01-04 19:28:54 · 1517 阅读 · 3 评论 -
计算机算法与设计3(排序算法的复习)
一、冒泡排序定义:冒泡排序是一种极其简单的排序算法。它重复地走访过要排序的元素,一次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。操作步骤比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。针对所有的元素重复以上的步骤,除了最后一个。持续每......原创 2020-01-04 14:54:12 · 479 阅读 · 0 评论 -
计算机算法与设计2(一题多解,全面复习-----------------解决0-1背包问题)
蛮力法1.蛮力法(brute force method,也称为穷举法或枚举法)是一种简单直接地解决问题的方法,常常直接基于问题的描述,所以,蛮力法也是最容易应用的方法。但是,用蛮力法设计的算法时间特性往往也是最低的,典型的指数时间算法一般都是通过蛮力搜索而得到的。蛮力法所依赖的最基本技术是扫描技术,依次处理元素是蛮力法的关键,依次处理每个元素的方法是遍历。虽然设计很高效的算法很少来自于蛮力法基......原创 2020-01-03 12:13:18 · 1040 阅读 · 0 评论 -
计算机算法分析与设计(基本算法框架)
一、分治法将一个大的问题分解成若干个小问题对各个小问题逐一击破将子问题的解决结果合并,得到问题的解例子合并排序棋盘覆盖问题循环赛日程表二、分枝限界法(以广度优先搜索)从根节点开始节点扩展每一个活节点都有一次节点扩展的机会(扩展的节点会一次性将所有的子节点扩展)在扩展的子节点中,删除所有不可行和非最优解的儿子节点,其它的节点加入活结点的列表反复的扩展列表中的活结点,进行......原创 2020-01-02 17:16:48 · 1763 阅读 · 0 评论 -
算法分析与设计复习1
1.快速排序传入划分值a,通过与a比较大小 ,将数据分为大于a和小于a的两部分。返回a对应的数组下标p以p作为界定,将数据分为两部分,再次进行快速排序递归运行以上程序void Ksort(int a[ ],int low,int high){ p=part(a,low,high) Ksort(a,low,p-1) Ksort(...原创 2019-12-13 16:29:49 · 149 阅读 · 0 评论 -
算法分析与设计:python解决两船载货问题(本质:回朔法解决01背包问题)
1.已知X、Y两船的限重6吨和4吨,岸上对应有重为1,4,4,2,3吨的A、B、C、D、E五钟货物,它们的价值分别为1,2,3,5,3万元 两船如何分配才能让此次运送货物的价值最大?weight=[1,4,4,2,3]value=[1,2,3,5,3]op=[0]*len(weight)Limit_weight_X=6MAX_value_X=0X_load_weight=0op1=...原创 2019-11-12 20:17:02 · 472 阅读 · 0 评论 -
python解决农夫过河问题
题目:A岸上,有谷子、鸡、狼,农夫必须将他们都送到B岸,每次只能送1个,农夫不在岸上的时候,鸡会吃谷子、狼会吃鸡, 在保证他们都不会被吃的前提下,完成任务A=[["狼",1],["鸡",1],["谷子",1]]B=[["狼",0],["鸡",0],["谷子",0]]size=len(A)number=-1#岸上共存def judge(A): if A[1][1]==1 an...原创 2019-11-08 22:00:01 · 3809 阅读 · 3 评论 -
python全排列问题
1.思想2.代码def AllRange(listx, start, end): if start == end: #当开始等于结尾时结束 for i in listx: print(i,end = '') print() for m in range(start,end+1): listx[...原创 2019-10-17 21:55:13 · 547 阅读 · 0 评论 -
算法设计与分析————找出数组中最大值和次大值的14钟方法
1. 两次循环查找#include<stdio.h>//找到最大的元素和次大的元素 void find(int a[],int b[]){ int max1=a[0]; int max2=-1000,t; for(int i=0;i<6;i++) { if(a[i]>max1) { max2=max1; max1=a[i];...原创 2019-10-02 12:42:27 · 9014 阅读 · 1 评论 -
算法设计与分析(第四节课——分治算法)
一、快速排序利用递归和分治的思想,对数组:a[]={10,2,7,8,6,1,4,3,9,5}进行快速排序快速排序的思想取数组的第一个作为参考标准比较将数组中的其它数与之比较,比它大的数和第它小的数,放到原数组的前半部分和后半部分然后运用递归的思想对前后两部分进行快速排序分治的标准:对应每次排序的数组第一个下标值举例:a={4,3,5,8,1,2,6}1. 以4标准比较2...原创 2019-09-29 21:35:52 · 270 阅读 · 0 评论 -
算法设计与分析(第三节课——递归算法)
一、递归法的处理过程将f(n)向f(n-1)转化,f(n-1)向法f(n-2)转化,直到f(0)反向由f(1)一直推出f(n)#include<stdio.h>void fun(int n){ if(n<1) return ; else { printf("调用f(%d)前,n=%d\n",n-1,n); fun (n-1)...原创 2019-09-27 21:03:19 · 674 阅读 · 0 评论