算法笔记

本文探讨了算法和数据结构在编程中的核心地位,重点介绍了二分、分治、递归、贪心、动态规划等常见算法,以及数组、链表、二叉树和图等数据结构。强调了解题思路的重要性,提倡通过LeetCode等平台进行中等难度以下的实战练习,以提高问题解决能力。同时,建议在面对图相关问题时,根据自身掌握的知识灵活应对。
摘要由CSDN通过智能技术生成

算法笔记


程序有算法和数据结构组成,它们是不一样的,算法,是解决问题得方法。
而算法的实现,往往需要一些数据,所以算法也离不开数据结构得铺垫。
常见得算法有:二分、分治、递归、贪心、动态规划等
数据结构有:数组、链表,二叉树、图等

看到一个题的第一想法是看hash思想能不能用到,二分思想能不能用到,通常能确定中间指针走向的都是二分,这个题是不是适用于贪心算法,如果贪心算法解决不了,那么是什么原因导致贪心解决不了,是不是之后的某一步结果受限于之前的某一步,这样就再去考虑动态规划,是不是背包问题(常见01,完全),如果还不是或者动态规划的想法你想不出来,那看dfs和bfs是不是适用,bfs什么时候适用,dfs什么时候适用,很多情况下,巧用递归能更加方便简洁,如果你看到的题目是数据结构相关,那就思考一下之前做过的题,有没有相关的,数据结构的题基本都是完全理解了题目的意思就能做,思考方式很难改变,但是可以改变,坚持按照流程走,以后自动就变成了自己的思维方式,企业不怕你刷题,但是不缺刷题机器人,一定要多思考,主要刷题在leetcode中等难度及以下就行,如果遇到不会的问题一定不要强答,瞎说的话只会扣分,比如看见图相关的题,如果比较简单或者突然想出什么奇特的解决方案,可以做,不然直接说没学过图;几种排序、查找算法尽量做到不用动脑就可以写。

要一步步理解算法,而不是去背题。

下面列出LeetCode经典练习题
1 . 栈
2 . 堆
3 . 排序
4 . 贪心
5 . 位运算
6 . 树
7.数组
8.哈希
9.设计题
10.字符串
11.动态规划
12.递归


未完待续…

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SS_zico

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值