数据结构
一维:
基础:数组array(string),链表Linked List
高级:栈stack,队列queue,双端队列deque,集合set,映射map(hash or map), etc
二维:
基础:树tree,图graph
高级:二叉搜索树binary search tree(red-black tree, AVL),堆heap,并查集disjoint set,字典树Trie,etc
特殊:
位运算Bitwise,布隆过滤器BloomFilter
LRU Cache

算法

if-else,switch-->branch
for,while loop-->lteration
递归 Recursion(Divide & Conquer,Backtrace)
搜索Search:深度优先搜索Depth first search,广度优先搜索Breadth first search,A×,etc
动态规划Dynamic Programming
二分查找Binary Search
贪心Greedy
数学Math, 几何Geometry
注意:在头脑中回忆上面每种算法的思想和代码模板

学习要点
基本功是区别业余和职业选手的根本。深厚功底来自于--过遍数

刻意练习-练习缺陷弱点地方、不舒服、枯燥

五毒神掌

第一遍:不要死磕,要看代码学习(一定要看国际版的高票回答)
第二遍:自己写和理解
第三遍:24小时侯后再练习一遍
第四遍:一周后再练习
第五遍:面试前再练习

面试技巧
1、Clarification:明确题目意思、边界、数据规模
2、Possible solutions:穷尽所有可能的解法
-compare time/space
-optimal solution
3、Coding:代码简洁、高性能、美感
https://shimo.im/docs/rHTyt8hcpT6D9Tj8
4、Test cases

python算法学习总结的更多相关文章

  1. python 算法学习部分代码记录篇章1

    # -*- coding: utf-8 -*- # @Date : 2017-08-19 20:19:56 # @Author : lileilei '''那么算法和数据结构是什么呢,答曰兵法''' ...

  2. python算法学习--待续

    几个算法网站 算法可视化网站:https://visualgo.net/en,通过动画展示算法实现过程 程序可视化网站:http://www.pythontutor.com/visualize.htm ...

  3. Python之路,Day21 - 常用算法学习

    Python之路,Day21 - 常用算法学习   本节内容 算法定义 时间复杂度 空间复杂度 常用算法实例 1.算法定义 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的 ...

  4. 利用python深度学习算法来绘图

    可以画画啊!可以画画啊!可以画画啊! 对,有趣的事情需要讲三遍. 事情是这样的,通过python的深度学习算法包去训练计算机模仿世界名画的风格,然后应用到另一幅画中,不多说直接上图! 这个是世界名画& ...

  5. 第四百一十五节,python常用排序算法学习

    第四百一十五节,python常用排序算法学习 常用排序 名称 复杂度 说明 备注 冒泡排序Bubble Sort O(N*N) 将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮 ...

  6. 安装Python算法库

    安装Python算法库 主要包括用NumPy和SciPy来处理数据,用Matplotlib来实现数据可视化.为了适应处理大规模数据的需求,python在此基础上开发了Scikit-Learn机器学习算 ...

  7. python爬虫学习 —— 总目录

    开篇 作为一个C党,接触python之后学习了爬虫. 和AC算法题的快感类似,从网络上爬取各种数据也很有意思. 准备写一系列文章,整理一下学习历程,也给后来者提供一点便利. 我是目录 听说你叫爬虫 - ...

  8. Comprehensive learning path – Data Science in Python深入学习路径-使用python数据中学习

    http://blog.csdn.net/pipisorry/article/details/44245575 关于怎么学习python,并将python用于数据科学.数据分析.机器学习中的一篇非常好 ...

  9. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

随机推荐

  1. dotnet 通过 WMI 拿到显卡信息

    本文告诉大家如何通过 WMI 拿到显卡信息 如果使用的是 dotnet core 请先引用 Microsoft.Windows.Compatibility 才可以使用 WMI 代码 通过下面的代码可以 ...

  2. codeforces 677D(分层图dp)

    Codeforces 677D 传送门:https://codeforces.com/contest/677/problem/D 题意: 给你一个n*m的方格图,每个点有一个权值val,现在要求你从坐 ...

  3. Avram Joel Spolsky给计算机系学生的建议

    Avram Joel Spolsky给计算机系的学生给了如下建议:     (1)毕业前练好写作     (2)毕业前学好C语言     (3)毕业前学好微观经济学     (4)不要因为枯燥就不选修 ...

  4. STM32与STM8操作寄存器的区别

    在STM8中,由于STM8寄存器较少,在头文件中定义寄存器的时候不用采取任何形式的封装,所以操作寄存器的时候直接可以用如下方式处理:PB_DDR |=0x20; 但是在STM32中,由于其寄存器实在太 ...

  5. F4与F1对比

  6. 第二阶段:2.商业需求分析及BRD:1.产品需求管理

    产品经理需要投入大量的时间在需求方面的工作. 一张图看出需求多么重要.各个方面的人物对需求的误解导致的后果. 首先收集需求 需求采集 可以用excel收集数据并整理 备注信息也很重要 有时候要跟提出人 ...

  7. springboot-集成WebSockets广播消息

    一 WebScoketS 简介 RFC 6455 即 webSockets 协议提供了一种标准化的方式去建立全双工,双方面交流的通道在客户端和服务端甚至单一的TCP连接中进行通信: webSocket ...

  8. Win7安装和配置Apache

    一.版本介绍   首先,我们需要下载Apache2.4服务器:http://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC14   关于现在那个版 ...

  9. 用Tasker实现收到Android手机短信自动转发到邮箱

    发送短信到邮箱的原理与 <用Tasker实现收到Android手机短信自动转发到邮箱>有些类似.  发送短信到邮箱是利用Ifttt这个服务将短信转发到邮箱中.Ifttt服务的可扩展性很强, ...

  10. HashMap 原理解析

    HashMap是由数组加链表的结合体.如下图: 图中可以看出HashMap底层就是一个数组结构,每个数组中又存储着链表(链表的引用) JDK1.6实现hashmap的方式是采用位桶(数组)+链表的方式 ...