Skip to content

LUCKMOONLIGHT/algorithms-coding

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

algorithms-coding

算法面试的准备范围

  • 各种排序算法
  • 基础数据结构和算法的实现:堆、二叉树、图
  • 基础数据结构的使用:链表、栈、队列、哈希表、图
  • 基础算法:深度优先、广度优先、二分查找、递归
  • 基本算法思想:递归、分治、回溯搜索、贪心、动态规划

注意题目中的条件

  • 设计一个O(nlogn)的算法
  • 无需考虑额外的空间
  • 数据规模大概是10000

优化算法

  • 遍历常见的算法思路

  • 遍历常见的数据结构

  • 空间和时间的交换(哈希表)

  • 预处理信息(排序)

  • 在瓶颈处寻找答案:O(nlogn) + O(n^2) ; O(n^3)

实际编写问题

  • 极端条件的判断

    • 数组为空?字符串为空?数量为0?指针为NULL?
  • 变量名标准化

  • 模块化函数(复用性)

数据规模概念

如果想要在1s之内解决问题:

O(n^2)的算法可以处理大约 10^4 级别的数据

O(n)的算法可以处理大约 10^8 级别的数据

O(nlogn)的算法可以处理大约 10^7 级别的数据

About

算法笔记心得:LeetCode | 剑指Offer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages