Sunyandong-CS / Algorithm

An project which used to share some common algorithm.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Algorithm

An project which used to share some common algorithm.

这个仓库主要用来记录和学习数据结构和算法,希望能一直坚持下去。

学习方法:

  • 把所有经典算法写一遍
  • 看算法有关源码
  • 看经典书籍
  • 刷题

目前学习:

    • 二叉树(构造、遍历等)
    • 二叉查找树
    • Z 字形打印二叉树
  • 排序
    • 冒泡排序
    • 快速排序
    • 归并排序
  • 背包问题..持续更新中
  • LCS
  • 素数筛选法
  • 剑指offer刷题
    • 反转链表
    • 前k小的数
    • 链表相关
    • 镜像的二叉树
    • Z字型打印二叉树
    • 回溯法
      • 机器人的运动范围
      • 矩阵中的路径
  • leetcode刷题
    • 动态规划相关
  • 不用加减乘除作加法
  • 一些公司的题目

推荐阅读

刷题必备

《剑指offer》 《编程之美》 《编程之法:面试和算法心得》 《算法谜题》 都是思维题

基础

《编程珠玑》Programming Pearls 《编程珠玑(续)》 《数据结构与算法分析》 《Algorithms》 这本近千页的书只有6章,其中四章分别是排序,查找,图,字符串,足见介绍细致

算法设计

《算法设计与分析基础》 《算法引论》 告诉你如何创造算法 断货 《Algorithm Design Manual》算法设计手册 红皮书

《算法导论》 是一本对算法介绍比较全面的经典书籍

《Algorithms on Strings,Trees and Sequences》 《Advanced Data Structures》 各种诡异高级的数据结构和算法 如元胞自动机、斐波纳契堆、线段树 600块

延伸阅读

《深入理解计算机系统》 《TCP/IP详解三卷》 《UNIX网络编程二卷》 《UNIX环境高级编程:第2版》

《The practice of programming》 Brian Kernighan和Rob Pike 《writing efficient programs》 优化 《The science of programming》 证明代码段的正确性 800块一本

参考链接和学习网站

《数学建模十大经典算法》 《数据挖掘领域十大经典算法》 《十道海量数据处理面试题》 《数字图像处理领域的二十四个经典算法》 《精选微软等公司经典的算法面试100题》

The-Art-Of-Programming-By-July 微软面试100题 程序员编程艺术

基本算法演示

http://www.cs.usfca.edu/~galles/visualization/Algorithms.html

编程网站

leetcode 九度OJ

这有个ACM训练方案

其它

高级数据结构和算法 北大教授张铭老师在coursera上的课程。完成这门课之时,你将掌握多维数组、广义表、Trie树、AVL树、伸展树等高级数据结构,并结合内排序、外排序、检索、索引有关的算法,高效地解决现实生活中一些比较复杂的应用问题。当然coursera上也还有很多其它算法方面的视频课程。

算法设计与分析 Design and Analysis of Algorithms 由北大教授Wanling Qu在coursera讲授的一门算法课程。首先介绍一些与算法有关的基础知识,然后阐述经典的算法设计**和分析技术,主要涉及的算法设计技术是:分治策略、动态规划、贪心法、回溯与分支限界等。每个视频都配有相应的讲义(pdf文件)以便阅读和复习。

About

An project which used to share some common algorithm.


Languages

Language:C++ 100.0%