算法日记-01-算法和数据结构概览

文章目录

  • 算法日记-01-算法和数据结构概览
  • 1.数据结构
  • 2.算法
  • 3.如何解题?
  • 4.刷题方法
  • 5.小结

1.数据结构

  • 一维

    • 基础:数组arry(string),链表 linked list
    • 高级:栈 stack,队列 queue,双端队列 deque,集合 set,映射 map(hash or map),etc
  • 二维
    • 树 tree,图 graph
    • 高级:二叉搜索树 binary search tree
  • 特殊
    • 位运算 bitwise,布隆过滤器 bloomFilter
    • LRU Cache 缓存算法

在这里插入图片描述

2.算法

  • if-else, switch ---->branch 判断

  • for , while loop —> lteration 循环

  • 递归 recursion 递归

  • 搜索 search : 深度优先搜索 depth first search , 广度优先搜素 breadth first search , A* ,etc

  • 动态规划 dynamic programming

  • 二分查找 binary search

  • 贪心 greedy

  • 数学

3.如何解题?

  1. 看清题目,确保自己的理解是正确的
  2. 想想所有可能的解法
    1. 比较不同的方法的时间,空间复杂度
    2. 加强
  3. 开始写代码(多写)
  4. 举测试案例

4.刷题方法

第一遍

  • 前五分钟,思考+读题
  • 直接看解法?注意多比较,多比较优劣
  • 背人家写好的代码,注意理解

第二遍

  • 不要看别人的代码,自己敲出来,leetcode上跑
  • 多种解法比较,优化

第三遍

  • 二十四小时之后回过头来再做一遍

  • 专项练习

第四遍

  • 一周之后反复练习相同的题目

第五遍

  • 面试前一周恢复性练习

5.小结

  • 训练:拆分知识点,刻意练习,反馈
  • 刷题方法
  • 误区:只做一遍

算法日记-01-算法和数据结构概览相关推荐

  1. 数据结构与算法:01 绪论

    绪论 知识结构: 一.什么是数据结构 例1:电话号码薄的查询问题. (a1,b1),(a2,b2),-,(an,bn)(a_1,b_1),(a_2,b_2),\dots,(a_n,b_n) (a1​, ...

  2. 数据结构与算法基础01:绪论

    目录 1. 程序设计 = 数据结构 + 算法 2. 基本概念和术语 2.1 数据 2.2 数据元素 2.3 数据对象 2.4 数据结构 3. 逻辑结构和物理结构 3.1 逻辑结构 3.2 物理结构(存 ...

  3. 【数据结构与算法】【算法思想】回溯算法

    贪心算法 回溯算法 分治算法 动态规划 回溯算法思想应用广泛,除了用来指导深度优先搜索这种经典算法设计之外,还可以用在如正则表达式匹配,编译原理中的语法分析等. 除此之外,很多经典的数学问题都可以用回 ...

  4. 算法——贪心算法解0-1背包问题

    问题的描述 我们先根据一个贪心算法的经典应用实例,然后给出贪心算法的实现步骤与关键环节,最后给出C++代码求解0-1背包问题. 背包问题(Knapsack Problem):有NN件物品有一个承重(也 ...

  5. 完全背包问题贪心算法c语言,数据结构与算法学习之路:背包问题的贪心算法和动态规划算法...

    一.背包问题描述: 有N种物品和一个重量为M的背包,第i种物品的重量是w[i],价值是p[i].求解将哪些物品装入背包可使这些物品的费用总和不超过背包重量,且价值总和最大. 二.解决方法: 1.贪心算 ...

  6. Interview:算法岗位面试—10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法、回归算法、聚类算法等细节考察

    ML岗位面试:10.29下午上海某电子(偏传统ML算法,外企)数据结构算法+晚上国内某保险公司(偏AI算法,世界500强)技术面试之分类算法.回归算法.聚类算法等细节考察 Interview:算法岗位 ...

  7. 在Object-C中学习数据结构与算法之排序算法

    笔者在学习数据结构与算法时,尝试着将排序算法以动画的形式呈现出来更加方便理解记忆,本文配合Demo 在Object-C中学习数据结构与算法之排序算法阅读更佳. 目录 选择排序 冒泡排序 插入排序 快速 ...

  8. 分支界限算法【0-1背包问题】按照优先队列式(LC)分支限界法求解0-1背包问题, 并给出限界函数,并画出该实例的状态空间树。

    目   录 回溯算法[0-1背包问题] 分支界限算法[0-1背包问题] 作业题(期末考试必考) 小结 回溯算法[0-1背包问题] 分支界限算法[0-1背包问题] 解决思路:采用优先队列式分支限界 Ø ...

  9. 数据结构排序算法实验报告_[数据结构与算法系列]排序算法(二)

    我的上一篇文章向大家介绍了排序算法中的冒泡排序.插入排序和选择排序.它们都是平均时间复杂度为 O(n^2) 的排序算法,同时还为大家讲解了什么是原地排序和什么是排序的稳定性.下图是这三种算法的比较,不 ...

最新文章

  1. codewars048: Triple Double
  2. 计算机软件基础-(软件开发过程管理)
  3. linux ubuntu pkg-config工具的使用(源代码编译库接口查询工具)
  4. 解决IE8 无法使用 JS 中Array() 的 indexOf 方法
  5. 51Nod 1494 选举拉票(权值线段树)
  6. 经典线程同步 互斥量Mutex的使用分析
  7. Soft Bellman Equation and Soft Value Iteration证明
  8. 用HFFS实例讲解PCB蛇形天线设计技巧
  9. OMNETPP: tictoc
  10. 高德地图独家携手东方时尚驾驶学校 共推“安全驾驶季”活动
  11. 输入框限制规则 只能输入数字 只能输入字母数字 等等
  12. 鼠标计算机无法识别,如何解决usb鼠标和键盘无法识别问题
  13. 新年拍照好伙伴,vivo S12 Pro前后都精彩
  14. 类加载(基本说明、流程图、类加载各个阶段完成的任务)
  15. 谷歌新系统 fuchsia
  16. 攻防世界 pwn string
  17. d盾web查杀 linux,D盾_Web查杀 [webshell查杀]
  18. 物联卡智能扫描设备可以保障产品安全?
  19. 使用MUI开发移动应用 QQ、微信、新浪微博分享的总结
  20. 做了一个获取全国大中城市天气的小工具

热门文章

  1. 天池 在线编程 两句话中的不常见单词(哈希计数)
  2. LeetCode 87. 扰乱字符串(记忆化递归 / DP)
  3. LeetCode 1569. 将子数组重新排序得到同一个二叉查找树的方案数(DP)
  4. LeetCode 416. 分割等和子集(动态规划)
  5. LeetCode 1391. 检查网格中是否存在有效路径(BFS)
  6. Django入门 -- 框架操作基本流程
  7. python中_str_使用方法
  8. java自动加空格吗_程序加上空格和不加空格运行结果不一样
  9. java生产者消费者gui_java理论之java--GUI(图形用户管理)与 IO/流
  10. mysql创建库并创建用户_mysql创建数据库并创建用户授权