数据结构
- 数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成
- 简单来说,数据结构就是设计数据以何种方式组织并存储在计算机中
- 比如:列表、集合和字典等都是一种数据结构(他们在内存中存储方式不同)
- N.Wirth: ”程序 = 数据结构 + 算法“
数据结构的分类
- 数据结构按照其逻辑结构可分为线性结构、树结构、图结构
- 线性结构:数据结构中的元素存在一对一的相
算法概念
时间复杂度
空间复杂度
复习:递归
算法(Algorithm):一个计算过程,解决问题的方法
Niklaus Wirth:"程序 = 数据结构 + 算法"
类比生活中的一些事件,估计时间:
- 眨一下眼 一瞬间/几毫秒
- 口算"26+68" 几秒
- 烧一壶水 几
import ( "log" )
type Person struct { Name string A
压栈 遇到panic出栈 后进先出,先进后出
package main
import "fmt"
func main() {
defer_func()
}
func defer_func() {
defer func() {
fmt.Println("1")
}()
defer fun
import "fmt"
// - 切片元素的去重 // 使用map的key func main() { s1 := []string{"abc", "def", "abc", "okok", "okok"}
m := make(map[string]struct{})
for _, i := range s1 {
切片 == 列表 map == 字典类型 线程不安全 要变成安全的就需要加锁 具体set.go 太麻烦 提供了更加简便的方法 互斥锁 HcMutex.Lock() HcMutex.UnLock() 同一时间只能一个执行 获取到锁 读写锁 RLock() unRLock() 写锁 Lock() UnLock()
package main
import (
"f
设计模式、算法
设计模式之美
碰到了才有感觉
工厂模式、策略模式 设计模式 多if 问题
学习编程方法:不纠结语法,要学习技巧和讲师经验 去突破项目 重点的语法掌握即可
agenda: 今日目标:用go能够写一些简单的脚本任务 学习go必备知识 1、安装及开发环境介绍 2、变量&常量 3、整型、浮点型、布尔型、字符串、切片入门 4、数据类型的相互转换 5、指针的介绍及使用场景 大
今日概要:
五大案例
面试题