# data-structure-alg
data-structure-alg仓库记录自己重温数据结构与算法的练习
> 🗒️ Note: 基于JS的算法和数据结构练习实践🏃
> 🚀 Purpose: 重拾数据结构与算法,保持大脑活跃思考,面试准备
> 🛣️ Road To Success: [JS专题](https://www.conardli.top/docs/JavaScript/)-> 数据结构和算法([hello-alg](https://www.hello-algo.com/chapter_data_structure/classification_of_data_structure/)) -> 《[剑指offer](https://doocs.github.io/leetcode/#/lcof/README)》 -> [Leetcode](https://doocs.github.io/leetcode/#/solution/README)[简单, 中等]
> ⛳ Principle: 分类练习!分类练习!分类练习!
总结题解 -> 回头复习 -> 剑指offer -> leetcode
分类刷题 -> 适当放弃 -> 反复复习 -> 接收自己是新手
*Stay Focus*: 采用番茄钟的方法!!
**Focusing is about saying no - Steve Jobs**
> 🍅 番茄钟科普: 番茄钟有个非常重要的特点,就是执行时一定要保持专注,如果不是什么特别重要, 紧急的事情一定不能打断这个钟,尽量到达休息时间再去处理其他事情,养成这样的习惯,就算时间很少,执行一件事的效率也会非常高.
一个番茄时间包含两个部分: 25 分钟的工作学习和 5 分钟的休息. 当每四个番茄时间之后呢,可以暂时停止一下工作,进行一次较长时间的休息,大约 15 到 30 分钟. 这里有一个很重要的点,就是一个番茄时间是不可再分割的. 这个法则可以帮助我们专注的执行,同时也能做到张弛有度.
对于短时间休息,方式有很多种. 比如,远眺放松一下眼睛属于休息, 站立活动一下脊椎属于休息,回复一些消息也属于休息. 如果只是坐在座位上刷刷手机,这种休息可能没有什么意义. 长时间休息,我会选择处理一些临时插件来的事情, 包括重新进行记录, 安排的步骤, 或者解答一些问题, 做一些 CodeReview 等等.
**🎯 Target : 计划是每天至少有一次练习的提交!!!FLAG 立起来!用输出的方式倒逼自己更好的学习**
> 💻 coding Site:
[leetcode animation](https://github.com/TonyZhang1993/LeetCodeAnimation/tree/master)(力扣模拟理解)
[瓶子君](https://github.com/TonyZhang1993/JavaScript-Algorithms/tree/master)(涵盖各种分类&手写源码)
[算法模板](https://github.com/TonyZhang1993/algorithm-pattern/tree/master)(合理刷题)
[ssh力扣记录](https://github.com/sl1673495/leetcode-javascript/issues)(力扣分类)
📚 interview Site:
[面试官系列](https://vue3js.cn/interview/)(包含vue和其他基础)
[冴羽的博客](https://github.com/mqyqingfeng/Blog)(技术好文)
[字节大佬](https://www.conardli.top/docs/JavaScript/)(算法和JS)
又是膜拜大佬的一天..
[传送门](https://docs.qq.com/doc/DYWlaZFVmdG5veGpQ)
## JS专题
- [闭包&this](./js/闭包-this理解.md)
- [柯里化](./js/函数柯里化.md)
- [继承](./js/继承.md)
- [深/浅拷贝](./js/浅拷贝-深拷贝.md)
- [防抖/节流](./js/手写防抖-节流.md)
- [手写call-apply-bind](./js/手写call-apply-bind.md)
- [手写instanceof](./js/手写instanceof.md)
- [数组乱序-洗牌算法](./js/数组乱序-洗牌算法.md)
- [数组去重-扁平-最值](./js/数组去重-扁平-最值.md)
- [new操作符](./js/new操作符.md)
- [24面试JS篇](./js/24面试JS篇.md)
- [js面经](./js/js面经.md)
## 数据结构与算法
### 数组
- [数组集合](./dataStructure/数组.md)
### 字符串
- [字符串集合](./dataStructure/字符串.md)
### 栈和队列
- [栈和队列](./dataStructure/栈和队列.md)
### 链表
- [链表集合](./dataStructure/链表.md)
### 字典和集合
- [字典和集合](./dataStructure/字典和集合.md)
### 哈希表
- [哈希表](./dataStructure/哈希表.md)
### 图
- [图](./dataStructure/图.md)
### 二叉树
- [二叉树](./dataStructure/二叉树.md)
### 堆
- [堆](./dataStructure/堆.md)
### 算法
- [算法](./algorithm/算法.md)
### 排序
- [汇总](./algorithm/排序/README.md)
- [冒泡](./algorithm/排序/冒泡排序.md)
- [插入](./algorithm/排序/插入排序.md)
- [选择](./algorithm/排序/选择排序.md)
- [希尔](./algorithm/排序/希尔排序.md)
- [快速](./algorithm/排序/快速排序.md)
- [归并](./algorithm/排序/归并排序.md)
- [堆排序](./algorithm/排序/堆排序.md)
## 剑指offer
## Leetcode
## 在线运行代码
> [jsfiddle](https://jsfiddle.net/uh60bgp3/), [codepen](https://codepen.io/stephanZhang/pen/NWomyEQ?editors=1111), codesandbox
## 其他
- [vue 引入图片路径的几种方式](https://blog.csdn.net/weixin_45768768/article/details/122199323)
- [内存单位转换](./js/内存单位转换.md)
- [Dom 相关](./dom/index.md)
- [React 相关](./react/index.md)
- [面经](./面经/index.md)
- [vue 相关](./vue/index.md)
- [前端工程化](./工程化/index.md)
- [手写js](./面经/手写js.md)
- [html](./面经/html.md)
- [css](./面经/css.md)
- [git](./面经/git.md)
- [node](./面经/node.md)
## 展望
23年的最后一碗鸡汤!干了!
