随笔分类 -  算法

算法----迷宫问题
摘要:题目:给一个二维列表,表示迷宫(0表示通道,1表示围墙)。给出算法,求一条走出迷宫的路径。 maze = [ [1,1,1,1,1,1,1,1,1,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,1,0,0,0,1,0,1], [1,0,0,0,0,1,1,0,0,1], [1, 阅读全文

posted @ 2018-07-08 19:56 TheLand 阅读(292) 评论(0) 推荐(0)

算法----数据结构
摘要:一、什么是数据结构? 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中。 比如:列表、集合与字典等都是一种数据结构。 “程序=数据结构+算法” 二、数据结构的分类 数据结构按照其逻辑结构可分为线性 阅读全文

posted @ 2018-07-08 19:56 TheLand 阅读(205) 评论(0) 推荐(0)

算法----其他排序
摘要:一、基数排序 局限:只能处理整数,且位数不能太大。 import random from timewrap import * def list_to_buckets(li, iteration):#这个是用来比较每个位置的大小的数字 """ 因为分成10个本来就是有序的所以排出来就是有序的。 :pa 阅读全文

posted @ 2018-07-07 10:53 TheLand 阅读(165) 评论(0) 推荐(0)

算法----常用排序算法
摘要:一、冒泡排序 1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 2、代码关键点: 趟数:n-1趟 无序区 3、图示说明:依次类推就会得到排序结果。冒泡排序的效率还是很低的 4、代码示例 1 # 思路:列表中两个相邻的数比较大小,如果前边的比后边 阅读全文

posted @ 2018-07-02 08:45 TheLand 阅读(202) 评论(0) 推荐(0)

算法----堆的简单介绍
摘要:一、堆的分类 大根堆:一棵完全二叉树,满足任一节点都比其孩子节点大小根堆:一棵完全二叉树,满足任一节点都比其孩子节点小 二、堆的向下调整性质 前提:节点的左右子树都是堆,但是自身不是堆 三、堆排序 内置模块 优先队列:一些元素的集合,POP操作每次执行都会从优先队列中弹出最大(或最小)的元素。堆—— 阅读全文

posted @ 2018-07-02 08:43 TheLand 阅读(202) 评论(0) 推荐(0)

算法----树和二叉树简介
摘要:一、树 1、什么是树? 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点 阅读全文

posted @ 2018-07-02 08:42 TheLand 阅读(236) 评论(0) 推荐(0)

算法----列表查找以及列表排序
摘要:一、列表查找 1、列表查找:从列表中查找指定元素 输入:列表、待查找元素 输出:元素下标或未查找到元素 2、顺序查找:从列表第一个元素开始,顺序进行搜索,直到找到为止。返回找到的那个索引 3、二分查找:从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一 阅读全文

posted @ 2018-07-02 08:39 TheLand 阅读(391) 评论(0) 推荐(0)

算法----基础汇总
摘要:一、什么是算法? 算法(Algorithm):一个计算过程,解决问题的方法 一个算法应该具有以下七个重要的特征: ①有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止; ②确切性(Definiteness):算法的每一步骤必须有确切的定义; ③输入项(Input):一 阅读全文

posted @ 2018-07-02 08:37 TheLand 阅读(178) 评论(0) 推荐(0)