随笔分类 -  数据结构与算法

摘要:Dijkstra算法主要是针对单源的,用于求一个点到其他各点的最短路径。其中点与点之间的边的权重不存在负值的情况。 先看下图(手上没有好的画图工具,先将就看看): 设以点0位源点,求0到其他各点的最短路径。 首先我们用一个二维矩阵来表示各点之间的距离(这个矩阵太丑了): 这个二维矩阵表示的只是各点之 阅读全文

posted @ 2021-03-02 16:06 Jain_Shaw 阅读(642) 评论(0) 推荐(0)

摘要:选择排序是一种简单直白的排序算法,它的思想是:每次从无序区中选择出最小(或最大)的元素,然后把它和无序区首部的元素交换,此时有序区长度+1,无序区长度-1。 实现思路: ①在排序开始前,整个数组都是无序的,所以此时有序区的长度为0 > 找出整个数组中最小(或最大)的元素,将它与无序区首部的元素,即a 阅读全文

posted @ 2020-09-04 09:58 Jain_Shaw 阅读(180) 评论(0) 推荐(0)

摘要:快速排序算法是基于冒泡排序的,是对冒泡排序算法的一个改进。快速排序的效率比较高,是因为它的交换是跳跃式的。每次设置一个基准值,在比较的时候,将小于基准值的元素移到左边,将大于基准值的元素移到右边,这边一般不会只交换相邻的两个数。因此比较和交换的次数都会减少了,排序的效率自然也就高了。 快速排序的思想 阅读全文

posted @ 2020-09-03 14:11 Jain_Shaw 阅读(323) 评论(0) 推荐(0)

摘要:二叉树的遍历,无非就是按层遍历,先序遍历,中序遍历和后序遍历这几种。其中后三种的先,中,后等等是相对于根节点而言的。给出一棵二叉树,我们可以按照相对应的规则去输出它的遍历序列,同样的,如果满足一定的条件,那么也可以通过给出的序列来还原相对应的二叉树。 以满二叉树为例,如下图:(略丑,将就看看) 这棵 阅读全文

posted @ 2020-03-21 17:03 Jain_Shaw 阅读(308) 评论(0) 推荐(0)

导航