熟练掌握Python,可数据结构和算法还是很难?

首先,需要明确的两个点:

  1. 学很久 Python ≠ 能熟练运用 Python ≠ 能用 Python解决数据结构和算法问题。

  2. 熟练掌握 Python 编程语言 ≠ 具备数据结构和算法思维。

明确这两点以后,可以接着往下看原因。

几个猜测:

2.1 缺少特定的算法思维

通常算法思维是指你能分析算法问题、设计对应的解决方案并转化其为代码成功运行。

2.2 没能完全理解题目

完全理解题目需要的是深入理解问题的背景和要求,特别是题目中的一些黑体字或注意事项,往往这才是解题的关键线索。

2.3 缺少特定的算法知识

某些算法问题可能需要一些特定的算法知识,如图论、动态规划、贪心算法等。如果你在某些领域感到懵,可以在力扣的 LeetBook 上学习相关算法知识后,再尝试将它们应用到题目中。

2.4 练习算法题的数量不足和接触算法时间太短

算法问题的解决是需要练习和经验积累的。只有通过大量的练习,才能逐渐熟悉常见的数据结构和算法技巧,从而更快地解决问题。而且如果是才开始接触力扣上的数据结构和算法题,出现困惑是很正常的,因为还不够熟悉这个模式。

2.5 缺少独立思考的能力

独立思考能力是指能通过自己的思考找到该题目的解决方案或从不同的角度(多个解法)来尝试解答该题目。不是说不能参考别人的解法,而是每次通过学习别人的解法,能把其中的知识转化为自己的,这才是最重要的一点。

相关推荐
BK贝壳5 小时前
亿级用户签到位图选型复盘:用 bool-hybrid-array 扛冷启动打卡,也把它和 Roaring/Redis 的边界测清楚了
数据结构·python·性能优化·numpy
挖井观天14 小时前
《Java数据结构》第一讲:顺序表
数据结构
炘爚16 小时前
数据结构算法总结
数据结构·python·算法
见叶之秋17 小时前
【C++】红与黑的边界:红黑树从插入到自检
数据结构·c++·算法·面试
kiracrimson18 小时前
string 容器:从 C 字符串到会自己扩容的类
开发语言·数据结构·c++·stl
CQU_JIAKE19 小时前
10.25【A】
数据结构·算法
海清河晏11121 小时前
加油站问题
数据结构·算法·leetcode
GG.WinGel21 小时前
质数数目(蓝桥杯练习题)
java·数据结构·算法·青少年编程·蓝桥杯
敲代码的苦131 天前
头歌 数据结构—消防资源调度
数据结构·算法
ysu_03141 天前
【C++ 进阶之路】(二)从内联函数到类与对象:深挖内存对齐、this 指针与三大默认成员函数
开发语言·数据结构·c++·笔记·面向对象·this