4

学习算法与数据结构

 2 years ago
source link: https://shenjia1.github.io/2018/03/18/20180327/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

学习算法与数据结构

发表于 2018-03-18

字数统计: 488

|

阅读时长 ≈ 2

0. 开始学习《算法》

学习算法之前,其实以前看过《算法导论》,但是那本书有太多的证明和运算,看的有点头大,毕竟数学基础比较差,在论坛上,大家都对《算法》这本书推崇备至,一直想要一睹真容,现在终于决定花两个月的时间把这本书读一遍,据说比较适合入门级选手。

1. 第一章 基础

下面我会记录比较重要的,并会把练习的代码放在github上,有兴趣的可以看看,虽然代码写的可能比较烂,慢慢进步吧。

第一章的内容主要是讲java语言的基础,我之前没有java语言基础,但是学过C语言和python,对这些基本语法的掌握应该会比较快,所以我在这里会记录一些关于java语言的基础知识点,据书中描述,只要知道这些基本的语法,对书中的算法也可以理解清楚了。

原始数据类型语句:声明、赋值、条件、循环、调用、返回。静态方法,函数

java语言的标准绘图库StdDraw,因为我是第一次学到,在这里也记一笔。

数据抽象,就是面向对象的编程,重点在于API的设计。

数据类型的值是一组对象的集合,所有操作包括,添加、删除、访问。

背包是一种不支持删除元素的集合数据类型。

先进先出的队列

后进先出的栈

链表是一种递归的数据结构,

class Node{
               int value;
               Node next;
           }

链表是一种比较基础的数据结构,通过链表的实现可以构建很多复杂的数据结构。这里基本上是算法第四版的第一章的基本内容,简单的提一下。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK