# 算法 **Repository Path**: fengzi6/algorithm ## Basic Information - **Project Name**: 算法 - **Description**: golang 数据结构 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 尹成老师的数据结构 ## lesson1 数组,栈,队列。链式栈和链式队列。文件扫描,深度文件扫描(栈) 广度文件扫描(队列) ## lesson2 为什么需要排序 因为数据需要查找啊。 --- 1.选择排序, 2.字符串比较 3.插入排序 4.冒泡排序 5.堆排序 6.奇偶排序 7.归并排序 8.希尔排序 (数据不稳定) 9.基数排序 10.统计次数排序 11.锦标赛排序 12.鸡尾酒 13.排序时间 csdn.go 数据刷选 csdnsort.go 排序时间比较 --- ## lesson3 qq千万数据的排序和搜索 --- 1.搜索数据硬盘中 2.内存中搜索 3.内存结构体搜索 4.map 搜索 5.快速排序和二叉查找 6.qq.千万数据的排序和搜索 (快排优化) 7.斐波那契搜索中值 (消耗内存) 8.二分查找变形(查找数据) 9.快速查找第N大的数据 10.递进排序(递归和插入排序的结合) 11.休眠排序(利用数字时间的大小,让休眠时间) 12.梳子排序 13.三分查找 14.普通查找 和 map 的性能(时间对比) --- ## lesson4 单向链表和双向链表 --- 1. single_link 单向链表 2. singleFile 单向链表 数据写入和查找 3. 单向链表的中间位置 4. duoble_single_link 双向链表 5. 线程安全 6. 哈希数组实现 --- ## lesson5 多线程,分布式,分布式网络 --- 1.希尔排序的多线程修改 2.线程安全map // 万亿级别排序(数据分割-》分割排序-》文件归并排序-》分组有序分割文件) 本地-单线程排序 // 本地多线程排序 chan // 分布式排序 socket chan 3.归并排序 4.network1 网络通信,数据定义统一格式 5.network2 网络通信30秒没有内容通信,自动断开(释放资源) 6.分布式排序-服务分组通信 7.网络通信30秒没有内容通信,总节点断开,分节点 --- ## lesson6 线程版快速排序, --- 1.并发快排 2.链式堆 3.单环链表 解决约瑟夫环 4.双环形链表的基本操作 5.地址排序 6.表插入排序 7.集合,并集,交集,差集,补集 8.双端队列 9.佛系排序 (就是将一个数组随机,然后看这个数组是否有序) 10.迷宫 (手动迷宫,自动迷宫) 栈 迷宫 队列迷宫 --- ## lesson7 --- 1.汉诺塔 2.汉诺塔可视化 3.迷宫递归(lesson6 中有迷宫) 4.背包问题(动态规划) (动态规矩-相同背包大小-没有区别文件大小) 5.递归解决皇后问题 ---