Skip to content

liruidong1/algorithm011-class01

 
 

Repository files navigation

毕业总结

五毒神掌

1、刷题第一遍
   5分钟:读题+思考;
   有思路-直接做,写代码;没思路-直接看解法,比较不同解法的优劣;
   背诵默写好这些解法。
2、刷题第二遍
   马上自己写,leetcode提交,有问题-->debug修改-->debug修改-->正确;
   多种解法进行比较,体会-->优化! 时间复杂度!!!
3、过了一天,再重复做题
   不同解法的熟练程度-->专项练习!!
4、过了一周,反复回来练习相同的题目
5、面试前一周恢复性训练

切题四件套

1、Clarification:反复确认题意
2、Possible solution:尽可能多的解题思路,写出尽可能多的解法,进行分析,时间、空间复杂度分析
3、Coding:动手写起来
4、Test cases:把测试样例多列举几个

数据结构

一维数据结构:
    1、数组
    2、链表:单链表、双向链表、循环链表
    3、跳表
    4、栈:递归,维护单调栈(接雨水)
    5、队列
    6、双端队列:滑动窗口
    7、集合
    8、哈希表
二维数据结构:
    1、树
    2、图
    3、二叉搜索树:包括红黑树、AVL树
    4、堆:大顶堆,小顶堆。优先队列实现
    5、并查集:分组问题,有几类。
    6、字典树Trie:词频统计,单词搜索。
特殊
    1、位运算
    2、布隆过滤器:不存储元素本身,当一个元素的二进制索引有0存在,这个元素一定不在存储中,但即使一个元素的二进制索引全为1,也不能确定这个元素就在内存中。
    3、LRU Cache

算法

1、递归、枚举
2、分治、回溯、贪心算法
3、动态规划 
4、启发式搜索

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 43.2%
  • TypeScript 37.6%
  • JavaScript 19.2%