• 博客园Logo
  • 首页
  • 新闻
  • 博问
  • 专区
  • 闪存
  • 班级
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 简洁模式 ... 退出登录
    注册 登录
MichaelCen
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理
上一页 1 2 3 4 5 6 7 下一页

2019年1月24日

图表算法—有向图
摘要: 1. 有向图(Directed Graphs) 有向图与无向图是很像的,如果对无向图不熟悉,建议先看一下无向图。 在讨论有向图的算法前,先讨论如何构建有向图。 构建有向图的方法基本与无向图的方法一模一样。 首先,有向图是长这样的: 也是有两个关键点: a. 这个有向图有哪些点 b. 哪些点可以通往哪 阅读全文
posted @ 2019-01-24 09:38 MichaelCen 阅读(24284) 评论(0) 推荐(0) 编辑
 
 

2019年1月22日

图表算法—无向图
摘要: 1. 图表算法 本篇随笔写的是图表算法。图表可以大致分为两种:无向图和有向图。 无向图例子: 有向图例子: 从上述例子中可以看出,一个图表是由数个顶点和边组成的。 其中,无向图的边是没方向的,即两个相连的顶点可以互相抵达。 而有向图的边是有方向的,即两个相连的顶点,根据边的方向,只能由一个顶点通向另 阅读全文
posted @ 2019-01-22 11:40 MichaelCen 阅读(20545) 评论(1) 推荐(4) 编辑
 
 

2019年1月14日

搜索算法—哈希表
摘要: 1.什么是哈希表(Hash Tables) 哈希表可以以极快的速度来查找、添加或删除元素(只需要数次的比较操作。)它比红黑树、二叉搜索树都要快得多。但是哈希表没有排序功能,类似的,如寻找最大值、最小值、中值这些行为都不能在哈希表中实现。 2.实现哈希表的前提条件 要想对一组元素做成哈希表形式的数据结 阅读全文
posted @ 2019-01-14 09:52 MichaelCen 阅读(4427) 评论(5) 推荐(1) 编辑
 
 

2019年1月7日

红黑树的删除
摘要: 1.前文回顾 上一篇随笔写到了红黑树的实现及其各种功能的实现,本文将讲红黑树的删除。 上一篇随笔提到了二叉搜索树的删除功能在红黑树中虽然可以用,但会破坏红黑树的结构。 其实红黑树的删除功能是在二叉搜索树的删除功能上加上了重构结构的功能。因此,如果不熟悉二叉搜索树的删除功能和红黑树的,建议先看二叉搜索 阅读全文
posted @ 2019-01-07 15:22 MichaelCen 阅读(1184) 评论(6) 推荐(0) 编辑
 
 

2019年1月2日

搜索算法—红黑树
摘要: 1.什么是红黑树(Red-BlackBalancedSearchTree) 红黑树本质上是二叉搜索树的改良版,因此,对二叉搜索树不了解的,建议先去看一下二叉搜索树。 二叉搜索树有个严重的缺陷:树本身并不平衡,很容易造成部分分支过长,而部分分支过短的情况,从而影响到了搜索速度。 二叉搜索树的一个极端例 阅读全文
posted @ 2019-01-02 11:20 MichaelCen 阅读(1729) 评论(0) 推荐(1) 编辑
 
 

2018年12月27日

搜索算法—二叉搜索树
摘要: 1.什么是二叉搜索树(BinarySearchTrees) 如下图所示:15为树的根节点,10为15的左节点,20为15的右节点,下面的节点如此类推。 每个父节点都有两个子节点(子节点可能为空),左子节点比父节点小,右子节点比父节点大。 2.二叉搜索树的各种功能 一、节点 每个节点应该含有两个子节点 阅读全文
posted @ 2018-12-27 17:04 MichaelCen 阅读(17637) 评论(0) 推荐(3) 编辑
 
 

2018年12月20日

排序算法—堆排序
摘要: 1.排序问题 现有一个含有N个数字的数组S,如何通过程序把这个数组变成有序的数组? 例如: 排序前:S:5,3,7,5,9,4,1,100,50 排序后:S:1,3,4,5,5,7,9,50,100 2.二叉堆(binary heaps) 进行堆排序前,需要先把数组排成二叉堆,故这里先介绍二叉堆。 阅读全文
posted @ 2018-12-20 11:57 MichaelCen 阅读(1545) 评论(0) 推荐(0) 编辑
 
 

2018年12月18日

快速排序改进——3区快速排序(3-way quicksort)
摘要: 1.快速排序缺陷 快速排序面对重复的元素时的处理方法是,把它放在了左部分数组或右部分数组,下次进行分区时,还需检测它。如果需要排序的数组含有大量重复元素,则这个问题会造成性能浪费。 解决方法:新增一个相同区域,并把重复元素放进去,下次进行分区时,不对相同区域进行分区。 2. 3区快速排序(3-way 阅读全文
posted @ 2018-12-18 16:44 MichaelCen 阅读(1894) 评论(0) 推荐(0) 编辑
 
排序算法—快速排序
摘要: 1.排序问题 现有一个含有N个数字的数组S,如何通过程序把这个数组变成有序的数组? 例如: 排序前:S:5,3,7,5,9,4,1,100,50 排序后:S:1,3,4,5,5,7,9,50,100 2.快速排序(Quicksort) 简单介绍: 快速排序内含一道重要的工序:分区(Partition 阅读全文
posted @ 2018-12-18 15:46 MichaelCen 阅读(676) 评论(0) 推荐(1) 编辑
 
 

2018年12月14日

排序算法—归并排序
摘要: 1.排序问题 现有一个含有N个数字的数组S,如何通过程序把这个数组变成有序的数组? 例如: 排序前:S:5,3,7,5,9,4,1,100,50 排序后:S:1,3,4,5,5,7,9,50,100 2.归并排序(merge sort) 不同于希尔排序,这里将介绍归并排序。 百度百科的定义:归并排序 阅读全文
posted @ 2018-12-14 16:09 MichaelCen 阅读(904) 评论(0) 推荐(0) 编辑
 
 
上一页 1 2 3 4 5 6 7 下一页

Powered by: 博客园
Copyright © 2022 MichaelCen
Powered by .NET 6 on Kubernetes