摘要:
一、算法的时间复杂度 1、度量一个程序(算法)执行时间的两种方法 (1)事后统计的方法 这种方法可行,但是有两个问题:一是要想设计的算法的运行性能进行评测,需要实际运行该程序;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,这种方式,要在同一台计算机的相同状态下运行,才能比较那个算法速度更快 阅读全文
摘要:
一、排序算法的介绍 排序也称排序算法(Sort Algorithm),排序是将一组数据,依指定的顺序进行排列的过程。 二、排序算法的分类 1、内部排序 指将需要处理的所有数据都加载到内部存储器(内存)中进行排序。 2、外部排序法 数据量过大,无法全部加载到内存中,需要借助外部存储器(文件等)进行排序 阅读全文
摘要:
八皇后问题 说明: 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即:任意两个皇后都不能处于同一行、同一列或统一斜线上,问有多少中摆法(92)。 思路分析: (1)第一个皇后先放第 阅读全文
摘要:
迷宫问题 说明: (1)小球得到的路径,和程序员设置的找路策略有关系:找路的上下左右的顺序有关 (2)再得到小球路径时,可以先试用(下右上左),可以先使用(下右上左),再改成(上右下左),看看路径是否有变化 (3)测试回溯现象 (4)思考:如何求出最短路径? 代码分析: 1 package com. 阅读全文
摘要:
一、递归 1、递归应用场景 递归的实际应用场景,迷宫问题(回溯),递归(Recursion) 2、递归的概念 简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时,可以让代码更加简洁。 3、递归调用机制 递归调用机制,常见应用: (1)打印问题 1 pu 阅读全文