该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/666 访问。

概述

本系列博文将会向大家介绍本人在钻研《算法导论 第3版》过程中的点点滴滴,并使用C#语言实现该书中所有的经典算法,附带相应的时间复杂度分析。

知识储备

C#算法设计之知识储备

C#算法设计排序篇

C#算法设计排序篇之01-冒泡排序(附带动画演示程序)

C#算法设计排序篇之02-快速排序(附带动画演示程序)

C#算法设计排序篇之03-直接插入排序(附带动画演示程序)

C#算法设计排序篇之04-选择排序(附带动画演示程序)

C#算法设计排序篇之05-归并排序(附带动画演示程序)

C#算法设计排序篇之06-堆排序(附带动画演示程序)

C#算法设计排序篇之07-希尔排序(附带动画演示程序)

C#算法设计排序篇之08-计数排序(附带动画演示程序)

C#算法设计排序篇之09-基数排序(附带动画演示程序)

C#算法设计排序篇之10-桶排序(附带动画演示程序)

C#算法设计排序篇之11-二叉树排序(附带动画演示程序)

C#算法设计查找篇

C#算法设计查找篇之01-顺序查找

C#算法设计查找篇之02-二分查找

C#算法设计查找篇之03-插值查找

C#算法设计查找篇之04-斐波那契查找

C#算法设计查找篇之05-二叉树查找

C#算法设计查找篇之06-分块查找

C#算法设计查找篇之07-哈希查找

C#算法设计树篇

C#算法设计树篇之知识储备

C#算法设计树篇之01-一般的树

C#算法设计树篇之02-树的遍历(深度优先)

C#算法设计树篇之03-树的遍历(广度优先)

C#算法设计树篇之04-二叉树

C#算法设计树篇之05-完全二叉树

C#算法设计树篇之06-平衡二叉树

C#算法设计树篇之07-排序二叉树

C#算法设计树篇之08-哈夫曼树

C#算法设计树篇之09-B树

C#算法设计树篇之10-2-3树

C#算法设计树篇之11-红黑树

AlgorithmMan

AlgorithmMan by Iori,AlgorithmMan是使用C#开发的一套用于算法演示的工具。

各个算法的AlgorithmMan工具均可在相应博文下找到。

C#经典算法实践,回顾往生,更是致敬《算法导论》的更多相关文章

  1. 经典面试题(二)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯

    1.正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项, 例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1).设计一个函数void ...

  2. 经典算法研究系列:二、Dijkstra 算法初探

    July   二零一一年一月 本文主要参考:算法导论 第二版.维基百科. 一.Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到 ...

  3. 机器学习算法实践:Platt SMO 和遗传算法优化 SVM

    机器学习算法实践:Platt SMO 和遗传算法优化 SVM 之前实现了简单的SMO算法来优化SVM的对偶问题,其中在选取α的时候使用的是两重循环通过完全随机的方式选取,具体的实现参考<机器学习 ...

  4. 算法实践——舞蹈链(Dancing Links)算法求解数独

    在“跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题”一文中介绍了舞蹈链(Dancing Links)算法求解精确覆盖问题. 本文介绍该算法的实际运用,利用舞蹈链(Dancin ...

  5. 4、2支持向量机SVM算法实践

    支持向量机SVM算法实践 利用Python构建一个完整的SVM分类器,包含SVM分类器的训练和利用SVM分类器对未知数据的分类, 一.训练SVM模型 首先构建SVM模型相关的类 class SVM: ...

  6. 机器学习算法实践:朴素贝叶斯 (Naive Bayes)(转载)

    前言 上一篇<机器学习算法实践:决策树 (Decision Tree)>总结了决策树的实现,本文中我将一步步实现一个朴素贝叶斯分类器,并采用SMS垃圾短信语料库中的数据进行模型训练,对垃圾 ...

  7. 转载 - 算法实践——舞蹈链(Dancing Links)算法求解数独

    出处:http://www.cnblogs.com/grenet/p/3163550.html 在“跳跃的舞者,舞蹈链(Dancing Links)算法——求解精确覆盖问题”一文中介绍了舞蹈链(Dan ...

  8. 个性化排序算法实践(五)——DCN算法

    wide&deep在个性化排序算法中是影响力比较大的工作了.wide部分是手动特征交叉(负责memorization),deep部分利用mlp来实现高阶特征交叉(负责generalizatio ...

  9. 【ArchSummit干货分享】个推大数据金融风控算法实践

    作者:个推高级数据工程师 晓骏 众所周知,金融是数据化程度最高的行业之一,也是人工智能和大数据技术重要的应用领域.随着大数据收集.存储.分析和模型技术日益成熟,大数据技术逐渐应用到金融风控的各个环节. ...

  10. LTP 分词算法实践

    参考链接: https://github.com/HIT-SCIR/ltp/blob/master/doc/install.rst http://www.xfyun.cn/index.php/serv ...

随机推荐

  1. 你真的清楚DateTime in C#吗?

    DateTime,就是一个世界的大融合.   日期和时间,在我们开发中非常重要.DateTime在C#中,专门用来表达和处理日期和时间. 本文算是多年使用DateTime的一个总结,包括DateTim ...

  2. [Qt2D绘图]-01Qt2D绘图基本绘制和填充

    Qt的文档位置为 Paint System   大纲:     简介     先看一个小例子     基本的绘制和填充         使用画笔(Qpen)         使用画刷(QBrush) ...

  3. 图灵学院笔记-java虚拟机底层原理

    Table of Contents generated with DocToc 一.java虚拟机概述 二.栈内存解析 2.1 概述 2.2 栈帧内部结构 2.2.1 我们来解析一下compute() ...

  4. 手把手带你玩转 DialogFragment

    前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 思维导图 一.为什么要学习 DialogFragment 你还在用 Dialog 吗? 你还在经常烦恼 ...

  5. 17 个 Python 特别实用的操作技巧,记得收藏!

    Python 是一门非常优美的语言,其简洁易用令人不得不感概人生苦短.在本文中,作者 Gautham Santhosh 带我们回顾了 17 个非常有用的 Python 技巧,例如查找.分割和合并列表等 ...

  6. super,this关键字用法 Java

    super 用法 1.调用父类变量2.调用父类方法3.子类构造方法第一句 this 用法 super关键字用来访问父类内容, this 关键字用来访问本类中的内容, 有三种用法 1.在本类的成员方法中 ...

  7. linux命令笔记记录(自用)

    1.解除yum锁定: sudo rm -rf /var/run/yum.pid 2.删除文件夹: rm -rf /var/log/httpd/access 3.更新pip: python -m pip ...

  8. flask json 格式下 decimal 不是正确格式的问题

    import decimal class DecimalEncoder(json.JSONEncoder): def default(self, o): if isinstance(o, decima ...

  9. Java7/8 中的 HashMap 和 ConcurrentHashMap

    Java7 HashMap  数组+链表 Java7 ConcurrentHashMap   Segment数组+HashEntry数组链表+ReenTrantLock分段锁 Java8 HashMa ...

  10. thymeleaf js绑定多个变量参数

    写法一: <img th:src="@{/css/bianji.png}" th:onclick="|viewById('${user.id}','${user.i ...