Skip to content

Commit

Permalink
rush
Browse files Browse the repository at this point in the history
  • Loading branch information
hunterhug committed Dec 10, 2019
1 parent 590611b commit b847b1b
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 9 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

数据结构和算法在计算机科学里,有非常重要的地位。此仓库尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。

中文版为该仓库,英文版请见分支 `en`。仓库地址见:[https://github.com/hunterhug/GoAlgorithm](https://github.com/hunterhug/GoAlgorithm)
中文版为该仓库,英文版请见分支 `en`。仓库地址见:[https://github.com/hunterhug/goa](https://github.com/hunterhug/goa**)

## 目录

Expand Down
8 changes: 4 additions & 4 deletions basic/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

学习数据结构和算法。我们要知道一些基础的知识。

## 什么是算法
## 一、什么是算法

计算机,顾名思义是用来计算的机器。

Expand Down Expand Up @@ -30,7 +30,7 @@

在计算机科学中,所有的算法都是人定义的规则,这些规则都是死的,所以不要担心学不会。当你学会了这些算法,你将会觉得,哇,一切都那么简单。

## 什么是数据结构
## 二、什么是数据结构

数据结构,顾名思义就是存放数据的结构,也可以认为是存放数据的容器。比如,你要找出1000个数字中的最大值,首先你要将1000个数字记在某些卡片上,然后对卡片进行排序。

Expand All @@ -50,7 +50,7 @@

数据结构是算法实现的辅助,是为了更高效组织数据的结构,所以数据结构和算法其实密切联系,并不需要分得太清,大家可以把数据结构等同于算法。

## 什么叫好的数据结构和好的算法
## 三、什么叫好的数据结构和好的算法

学习算法的原因,是好的算法可以节约资源,但是选择合适的算法很难。我们要进行复杂的数学分析才能知道,什么叫做好的,在计算机里,我们把这种数学分析这叫做算法分析。

Expand All @@ -67,7 +67,7 @@

目前有一种新型的计算方式正在研究中,叫量子计算,可以在非常小的空间,使用非常少的资源,短时间内计算超级大量的数据,让我们期待能成功量产的那天,那时候人类生产力将极大被解放。

## 总结
## 四、总结

程序设计=数据结构+算法

Expand Down
19 changes: 19 additions & 0 deletions basic/dregee.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,21 @@
# 复杂度及渐进符号

## 一、算法复杂度

首先每个程序运行过程中,都要占用一定的计算机资源,比如内存,磁盘等,这些是空间,计算过程中需要判断,循环执行某些逻辑,周而反复,这些是时间。

那么一个算法有多好,多快,怎么衡量一个算法的好坏?

所以,计算机科学在算法分析过程中,提出了算法复杂度理论,这套理论可以量化算法的效率,以此作为标准,方便我们能衡量到底选择哪一种算法。

复杂度有两个维度:时间和空间。

我们说,一个实现了某算法的程序,如果计算的速度越快,那么这个算法时间复杂度越低,如果占用的资源空间越大,那么空间复杂度越高。复杂度越高,代表效率越低,就越不是一个好的算法。

我们要选择复杂度低的算法,衡量好空间和时间的消耗,选出适合特定场景的算法。

这两个复杂度维度的量化过程都是一样的,所以我们这里主要介绍时间复杂度。

## 二、渐进符号

如何量化一个复杂度,到底有多复杂,计算机科学抽象出了几个时间复杂度渐进符号。
8 changes: 4 additions & 4 deletions golang/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# 一小时入门Golang

## 前言
## 一、前言

Golang 语言是谷歌公司在2009年正式发布并开源的高级编程语言,开源地址:[https://github.com/golang/go](https://github.com/golang/go),官网地址:[https://golang.org](https://golang.org)

Golang 语言语法简单,支持多平台交叉编译(Linux/Mac/Windows),支持内存自动 `GC`(垃圾回收),支持嵌 `C/C++` 开发,并且实现了语法层面的线程调度,开发多线程程序十分方便。语法很像 `C/Python/JavaScript` 等高级编程语言。

## 正文
## 二、正文

入门 Golang 语言。可以不要求你拥有其他编程语言经验,但如果已经学会 `Java/C/Python` 等计算机编程语言,你会觉得相对亲切。阅读完本章并理解,需要一小时。

Golang 语言语法十分简单,你可以只使用函数式编程(类似 C 语言),也可以使用面向接口编程(类似面向对象语言 Java/C++)。

### 安装并简单使用
### 2.1.安装并简单使用

安装 [Golang:https://golang.org/dl](https://golang.org/dl):Windows 操作系统点击 `msi` 按提示安装,Mac 操作系统可以使用 `brew install golang` 安装。

Expand Down Expand Up @@ -70,7 +70,7 @@ hello world
today times:2019-12-09 13:14:14.383118 +0800 CST m=+0.000199077
```

### 深入了解
### 2.2.深入了解

每学一门编程语言,都离不开学习它的语言特征:

Expand Down

0 comments on commit b847b1b

Please sign in to comment.