算法与数据结构
huahuahuahhhh
一步一步,慢慢来
展开
-
走棋盘——最小代价
题目:棋盘如下,每个棋盘的代价不同,每次只能向下走或者向右走,以最小的代价从左上角走到右下角,记录走的路径,该怎么走?分析:1. 关于怎么走1). 第一行的棋格,除了第一个棋格,都是它左边的棋格向右走得到的。2). 第一列的棋格,除了第一个棋格,都是它上边的棋格向下走得到的。3). 棋盘中的剩余的棋格,要么从左边,要么从上边走过来,到底从哪过来,就要看这二者的大小.4). dp记...原创 2020-03-19 15:11:27 · 833 阅读 · 0 评论 -
算法与数据结构 -- 二叉树(六)
二叉树完全二叉树满二叉树完全 二叉树排序二叉树广度遍历深度遍历(根,左子树,右子树)原创 2019-10-16 18:49:26 · 147 阅读 · 0 评论 -
算法与数据结构 -- 排序和查找(五)
一、排序算法冒泡排序选择排序插入排序希尔排序快速排序归并排序堆排序二、算法实现冒泡排序每次比较相邻两个元素,若不符合大小关系,则交换元素位置。让最小的(或最大)元素在列表尾部外循环:控制循环次数内循环:未排序的列表部分# coding:utf-8'''冒泡排序,每次与后面一个元素比较不符合大小关系,则交换元素位置'''def bubble(arr): ...原创 2019-10-15 15:48:28 · 149 阅读 · 0 评论 -
算法与数据结构 -- 栈与队列(四)
栈与队列定义了数据的操作一、栈栈是一种先入先出的数据结构。可以用顺序表实现,也可以用链表实现栈操作判断是否为空压栈、入栈push出栈 pop返回栈顶元素 peek栈的元素个数# coding:utf-8'''用python中的列表实现栈栈是后入先出在这里,将列表的尾部看成活动的入栈和出栈都在列表尾部实现列表尾部也是栈顶'''class Stack(): ...原创 2019-10-12 16:04:34 · 136 阅读 · 0 评论 -
算法与数据结构(一)
时间复杂度的几条基本计算规则python内置类型性能分析from timeit import Timerdef t1(n): l = [] for i in range(n): l.append(i)def t2(n): l = [] for i in range(n): l += [i] # print(l...原创 2019-10-08 21:31:59 · 226 阅读 · 0 评论 -
数据结构——顺序表(二)
顺序表的主要内容一、顺序表的基本形式顺序表的基本操作Python中list实现原创 2019-10-09 18:05:45 · 166 阅读 · 0 评论 -
数据结构——链表(三)
链表链表是有0个或多个相互间有连接的结点构成的。每个结点包含数据区和链接取(指针区)1. 单链表1.1 单链表的特性这是通过单链表构成的一个数组Li = [200,400,600]]每个结点的指针区指向下一个节点最后一个节点指向None链表有一个头指针1.2 单链表支持的操作链表由结点构成,在建链表前,新建结点类结点类class Node(object): de...原创 2019-10-11 21:41:44 · 1065 阅读 · 0 评论