博客专栏  >  编程语言   >  程序算法艺术与实践

程序算法艺术与实践

通过对程序算法艺术(设计与分析)基础理论、最新国外的方法和各种应用,即:分治策略、动态规划DP、算法分析与问题计算复杂度、NP完全性,随机算法、模拟退火算法、量子算法等基本概念和算法进行学习与实践。

关注
11 已关注
43篇博文
  • 贪心法

    贪心法又称贪婪法, 在对问题求解时,总是做出在当前看来是最好的选择,或者说是:总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。

    2016-11-28 14:20
    1977
  • 动态规划

    动态规划(DP)[1]通过分解成子问题解决了给定复杂的问题,并存储子问题的结果,以避免再次计算相同的结果。我们通过下面这个问题来说明这两个重要属性:重叠子问题和最优子结构。

    2016-10-28 17:01
    1417
  • 分治策略Divide and Conquer

    对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原...

    2016-08-21 15:35
    899
  • 找出3的最大倍数的整数集合

    题目描述:给一个包含非负整数的数组(长度为n),找出由这些数字组成的最大的3的倍数,没有的话则输出impossible。 例如,如果输入的数组为{8,1,9},输出应为“9 8 1”,并且如果输入的数...

    2016-08-20 22:00
    630
  • 深入解析快速排序(Quick Sort)

    快速排序是由图灵奖获得者、计算机语言设计大佬C. A. R. Hoare在他26岁时提出的。说起C. A. R. Hoare老爷爷,可能很多人的第一印象就是快速排序,但是快排仅仅是他人生中非常小的成就...

    2016-08-10 14:03
    1142
  • Bloom Filter原理

    Google的爬虫每天需要抓取大量的网页。于是就有一个问题:每当爬虫分析出一个url的时候,是抓呢,还是不抓呢?如何知道这个url已经爬过了?关于程序算法艺术与实践更多讨论与交流,敬请关注本博客和新浪...

    2016-08-09 11:05
    704
  • Complexities

    This webpage covers the space and time Big-O complexities of common algorithms used in Computer Scie...

    2016-08-08 22:35
    895
  • 逻辑与图灵机

    计算无处不在。走进一个机房,在服务器排成的一道道墙之间,听着风扇的鼓噪,似乎能嗅出0和1在CPU和内存之间不间断的流动。从算筹算盘,到今天的计算机,我们用作计算的工具终于开始量到质的飞跃。计算机能做的...

    2016-03-25 09:35
    845
  • 关于 AlphaGo 论文的阅读笔记

    Deepmind 公司在 Nature 杂志发表论文 Mastering the game of Go with deep neural networks and tree search,介绍了 Al...

    2016-03-12 10:20
    2552
  • 图灵测试,测的到底是什么?

    2014年6月7日发生了一件事情:聊天程序“尤金·古斯特曼”(Eugene Goostman)在英国皇家学会举行的2014图灵测试大会上冒充一个13岁乌克兰男孩而骗过了33%的评委,从而按照图灵当初的...

    2016-03-20 17:11
    1530
  • PrincetonUniversity-Coursera 算法:算法简介

    Course OverviewWhat is this course?Intermediate-level survey course.Programming and proble solving,w...

    2016-02-13 11:56
    1399
  • 螺旋矩阵、螺旋队列算法

    问题描述螺旋矩阵是一个nxn的方阵,其中元素为自然数,但像螺旋方向一样递增。举例如下: 若n = 3,螺旋矩阵为: 1 2 3 8 9 4 7 6 5 若n = 4,螺旋矩阵为...

    2012-12-30 19:56
    3664
  • 程序算法艺术与实践:递归策略之递归,循环与迭代

    众所周知,递归的实现是通过调用函数本身,函数调用的时候,每次调用时要做地址保存,参数传递等,这是通过一个递归工作栈实现的,同时影响效率的。递归是利用系统的堆栈保存函数当中的局部变量来解决问题的。递归就...

    2015-09-24 08:40
    1905
  • 程序算法艺术与实践:递归策略基本的思想

    分治策略(Divide and Conquer)是一种常用的算法技术,使用分治策略设计的算法通常是递归算法.很多时候我们看明白一个复杂的递归都有点费时间,尤其对模型所描述的问题概念不清的时候,想要自己...

    2015-09-20 21:04
    1177
  • 旋转交换或向量旋转

    问题描述 (来源于《编程珠玑》第2版的第2章第11页问题B) 请将一个具有n个元素的一维向量向左旋转i个位置。例如,假设n=8,i=3,那么向量abcdefgh旋转之后得到向量defghabc。简...

    2013-04-06 00:28
    1524
  • 块变换(字符反转)

    问题描述 前面有两节提供了不同方法解决关于将一个具有n个元素的一维向量向左旋转i个位置。即:旋转交换和Juggling算法。本节,提出另一种方案,块变换解决此问题。 (来源于《编程珠玑》第2版的第2...

    2013-04-11 20:18
    1409
  • 快速排序

    在编程珠玑一书对快速排序讲得较为透彻,最早的快排是单向的,慢慢演化成双向的,也就是目前的版本。从此书能看到这种演化的必要性。我想在这里,对其原理搞懂了就不会忘了(^_^)。 快速排序思想 1962年...

    2013-04-14 22:17
    1668
  • 插入排序

    插入排序的精髓就是首先将第一个元素视为有序子数组x[0...0],然后插入x[1]...x[n-1].思想很简单,优化思路:内循环的swap函数可能不如内联函数快些,所以第一步优化将该swap函数展开...

    2013-04-20 02:09
    1794
  • 如何优化程序打印出小于100000的素数

    问题描述  从2开始到n-1都不能整除则为素数。 优化 从2到sqrt(n)不能整除就可以 通过对被2、3和5整除的特殊检验,避免了近3/4的开方运算,其次,只考虑奇数作为可能的因子,在剩余的数中避...

    2013-04-28 22:12
    2025
  • 堆排序的实现

    堆排序(Heap Sort) 堆排序(HeapSort)是一树形选择排序。堆排序的特点是:在排序过程中,将R[l..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在...

    2013-05-25 18:47
    1691
img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部