这门课解决什么痛点,适合谁学
对于想转行程序员或刚入职场需要夯实基础的读者来说,最大的困境往往不是“不够努力”,而是“方向分散”。很多初学者在第一语言上投入大量时间后,发现目标岗位要求的语言完全不同,重新入门的成本极高。这套课程的核心价值在于“双语并行”,它不强迫你二选一,而是让你在相对短的时间内建立Python和Java两种主流语言的思维框架。这种设计特别适合那些目标不明确、或者希望增加就业容错率的转行者和应届生。
课程门槛较低,适合零基础用户,但需要一定的自律性。因为5周的时间跨度较短,且要同时掌握两门语言的基础,节奏会比单语言课程紧凑。如果你已经有其他编程语言的基础(如C++或JavaScript),学习会轻松很多;如果是纯小白,建议每天预留至少2小时用于编码练习,而非仅仅观看视频。课程开头的“互动”章节非常关键,它涵盖了简历攻略和面试揭秘,这是许多纯技术课缺失的环节,能帮助学习者从一开始就建立以就业为导向的学习目标,避免陷入“为了学算法而学算法”的误区。
学完能独立做什么,资料怎么配合练习
完成本课程后,你将能够独立使用Python或Java解决基础的编程问题,理解并实现常见的数据结构操作,如数组、字符串处理、基础排序和查找算法。更重要的是,通过对比两种语言,你会明白“语法糖”与“底层逻辑”的区别,例如Java的强类型约束如何帮助编写更稳健的企业级代码,而Python的简洁性如何加速原型开发。这种双语视角让你在面对不同技术栈的面试时,能快速切换语境,展现出更强的适应能力。
建议的学习顺序是:先完整观看第一章关于求职准备的内容,明确自身的简历短板和面试恐惧点;随后进入代码学习阶段,采取“对照学习法”。不要同时敲击两门语言的代码,建议先专注学完Python的一个模块(如循环与判断),再用Java复现相同的逻辑。这种重复而非平行的学习方式,能让你深刻体会到两种语言在语法结构上的异同。资料中的源码和PDF是重要的复习工具,建议在学习每个知识点后,遮住源码自行默写一遍,再对照检查。对于初学者,不必追求一次性精通两门语言的高级特性,掌握基础语法和常见算法的实现即可,后续的进阶可以通过实际工作项目中的需求来驱动深入学习。
课程目录
1-58-300x149.png 2024-3-15 18: 41 上传 课程介绍: 这是一门包含Python和Java双语教学的课程,旨在帮助学习者从零开始,仅需5周的时间就能掌握这两种编程语言以及基础算法。 Python和Java双语教学: 我们同时涵盖Python和Java两种主流编程语言,让学生能够熟练掌握这两门语言,为将来的编程工作打下坚实基础。 ├──00【课件资料】九章算法基础班 Python+Java | └──源码+pdf.exe 47.35M ├── 01 第一章【互动】零基础找CS工作,该如何准备?(Python 语言) | ├──01 python-1.1自我介绍 .mp4 2.76M | ├──01 python-1.2本节重点 .mp4 909.13kb | ├──01 python-1.3简历全攻略 .mp4 40.80M | ├──01 python-1.4面试大揭秘 .mp4 25.44M | ├──01 python-1.5 课程介绍 .mp4 38.29M | ├──01 python-1.6.1交互式环境运行代码VS将代码写到py文件中 .mp4 26.85M | ├──01 python-1.6.2 动态类型语言VS静态类型语言 .mp4 4.48M | ├──01 python-1.6.3 整数运算 .mp4 10.73M | ├──01 python-1.6.4 练习一 .mp4 6.23M | ├──01 python-1.6.5 浮点数和布尔型变量运算 .mp4 20.30M | ├──01 python-1.6.6 练习二及运算优先级 .mp4 20.01M | ├──01 python-1.6.7 短路运算 .mp4 8.33M | ├──01 python-1.6.8 练习三及变量命名风格 .mp4 24.31M | └── 01 python-班班有话说 .mp4 527.03kb ├── 02 第二章【互动】零基础找CS工作,该如何准备?(Java 语言) | ├── 02 Java-int型变量运算 .mp4 25.28M | ├── 02 Java-Java课程安排及课前准备 .mp4 57.72M | ├── 02 Java-班班有话说 .mp4 415.98kb | ├── 02 Java-编程语言 .mp4 10.93M | ├── 02 Java-编程语言中的变量 .mp4 49.86M | ├── 02 Java-变量 .mp4 8.27M | ├── 02 Java-变量命名风格 —— 牛逼程序员的敲门砖 .mp4 34.66M | ├── 02 Java-变量命名风格 .mp4 14.30M | ├── 02 Java-简历大揭秘 .mp4 43.11M | ├── 02 Java-简历知识点 .mp4 10.53M | ├── 02 Java-面试大揭秘 .mp4 22.62M | ├── 02 Java-面试知识点 .mp4 9.93M | └── 02 Java-声明变量 .mp4 14.27M ├── 03 第三章【互动】编程基础知识:循环、函数与面向对象(Python 语言) | ├──03 python-2.1 本节重点和课前回顾 .mp4 9.49M | ├──03 python-2.2.1 如何写好if语句 .mp4 36.70M | ├──03 python-2.2.2 练习一 .mp4 11.37M | ├──03 python-2.2.3 for循环 .mp4 42.28M | ├──03 python-2.2.4 循环终止及while语句 .mp4 31.41M | ├──03 python-2.3.1 函数 .mp4 49.63M | ├──03 python-2.3.2 练习二 .mp4 3.94M | ├──03 python-2.4.1 什么是面向对象及对象的概念 .mp4 9.32M | ├──03 python-2.4.2 类的概念 .mp4 44.92M | ├──03 python-2.4.3 什么是面向对象编程及封装性 .mp4 38.54M | ├──03 python-2.4.4 练习三 .mp4 9.87M | ├──03 python-2.5 总结 .mp4 1.73M | ├── 03 python-补充-构造函数 .mp4 13.68M | └── 03 python-补充-权限控制 .mp4 25.43M ├── 04 第四章【互动】编程基础知识:变量与程序控制流(Java 语言) | ├── 04 Java-boolean类型及其操作 .mp4 27.08M | ├── 04 Java-char类型和Unicode .mp4 57.90M | ├── 04 Java-if语句 .mp4 37.04M | ├── 04 Java-IntelliJ and Sublime .mp4 40.10M | ├── 04 Java-浮点数及数据类型转换 .mp4 36.36M | └── 04 Java-数组和循环 .mp4 46.97M ├── 05 第五章【直播】CS 工作介绍,算法基础知识 | └── 05 CS 工作介绍,算法基础知识 .mp4 278.23M ├── 06 第六章【互动】列表、元组、字符串与引用(Python 语言) | ├──06 python-List的增删改查-1 .mp4 27.09M | ├──06 python-List的增删改查-2 .mp4 35.92M | ├── 06 python-String的基本操作 .mp4 11.90M | ├── 06 python-String的介绍 .mp4 46.88M | ├── 06 python-本节重点和上节回顾 .mp4 5.98M | ├── 06 python-练习一 .mp4 27.44M | ├── 06 python-列表生成器 .mp4 7.89M | ├── 06 python-内存模型 .mp4 25.69M | ├── 06 python-什么是数据结构 .mp4 5.64M | ├── 06 python-修改引用VS修改对象 .mp4 23.77M | ├── 06 python-引用的第三个例子 .mp4 20.15M | ├── 06 python-引用的第一个例子和第二个例子 .mp4 14.26M | ├── 06 python-元组 .mp4 10.05M | └── 06 python-总结 .mp4 5.62M ├── 07 第七章【互动】String、面向对象、Reference、数据结构(Java 语言) | ├── 07 Java-Reference-Java的内存模型 .mp4 25.99M | ├── 07 Java-Reference-变量赋值和函数传参 .mp4 22.17M | ├──07 Java-Reference-基本数据类型变量和引用 .mp4 31.27M | ├── 07 Java-Reference-空引用null .mp4 16.85M | ├── 07 Java-Reference-数组和字符串 .mp4 31.88M | ├── 07 Java-数据结构定义及ArrayList .mp4 36.40M | ├── 07 新Java-field和method的修饰符 .mp4 50.93M | ├── 07 新Java-String及其常用操作 .mp4 11.99M | ├── 07 新Java-初识类和对象 .mp4 15.35M | ├── 07 新Java-构造函数 .mp4 49.71M | ├── 07 新Java-函数的调用 .mp4 25.20M | ├── 07 新Java-函数的定义 .mp4 18.25M | ├── 07 新Java-面向对象的基本特性之封装 .mp4 34.24M | ├── 07 新Java-真题讲解 String to int .mp4 20.81M | └── 07 新Java-真题讲解 Valid palindrome .mp4 46.68M ├── 08 第八章【互动】线性数据结构-链表(Python 语言) | ├── 08 python-quiz .mp4 25.79M | ├── 08 python-本节重点及上节回顾 .mp4 14.15M | ├── 08 python-链表的遍历 .mp4 11.04M | ├── 08 python-链表的概念 .mp4 16.53M | ├── 08 python-链表的基本操作(二) .mp4 30.72M | ├── 08 python-链表的基本操作(一) .mp4 31.79M | └── 08 python-算法的时间复杂度 .mp4 20.08M ├── 09 第九章【互动】链表及其操作,算法的时间复杂度(Java 语言) | ├── 09 Java-链表的操作-遍历 .mp4 43.36M | ├── 09 Java-链表的操作-插入 .mp4 32.02M | ├── 09 Java-链表的操作-删除、查找、修改 .mp4 32.40M | ├── 09 Java-神奇的dummy节点 .mp4 23.46M | ├── 09 Java-什么是链表? .mp4 21.20M | └── 09 Java-算法的时间复杂度 .mp4 22.53M ├── 10 第十章【直播】字符串 String | ├── 10 字符串 String-1 .mp4 226.39M | └── 10 字符串 String-2 .mp4 156.85M ├── 11 第十一章【直播】链表 LinkedList | └── 11 链表 LinkedList .mp4 233.81M ├── 13 第十三章【互动】手把手带写代码——字符串(Java 语言) | ├──13 01 【基础班】1781-JAVA .mp4 15.16M | ├──13 02 【基础班】1784-JAVA .mp4 12.67M | ├──13 03 【基础班】958-JAVA .mp4 14.87M | └──13 04 【基础班】1819-JAVA .mp4 14.76M ├── 14 第十四章【互动】手把手带写代码——链表(Python 语言) | ├──14 01 【基础班】219-python .mp4 12.29M | ├──14 02 【基础班】452-python .mp4 9.11M | ├──14 03 【基础班】228-python .mp4 5.69M | └──14 04 【基础班】170-python .mp4 21.50M ├── 15 第十五章【互动】手把手带写代码——链表(Java 语言) | ├──15 01 【基础班】219-java .mp4 14.96M | ├──15 02 【基础班】452-java .mp4 11.39M | ├──15 03 【基础班】228-java .mp4 6.58M | └──15 04 【基础班】170-java .mp4 23.16M ├── 16 第十六章【互动】栈和队列(Python 语言) | ├──16 01 16 python-栈 .mp4 17.03M | ├──16 02 16 python-栈的练习题 .mp4 18.82M | ├──16 03 16 python-栈在操作系统中的应用 .mp4 44.08M | ├──16 04 16 python-队列 .mp4 25.77M | └──16 05 16 python-队列的实际应用及总结 .mp4 7.29M ├── 17 第十七章【互动】栈和队列(Java 语言) | ├──17 01 Java-栈及其实现 .mp4 24.57M | ├──17 02 Java-函数调用栈 .mp4 19.17M | └──17 03 Java-队列及其实现 .mp4 30.71M ├── 18 第十八章【互动】二叉树的遍历方式(Python 语言) | ├──18 01 python-本节重点和上节回顾2 .mp4 7.13M | ├──18 02 python-什么是树?二叉树的定义 .mp4 19.63M | ├──18 03 python-如何创建一棵二叉树 .mp4 19.76M | ├──18 04 python-如何做深度优先遍历 .mp4 18.26M | ├──18 05 python-函数自己调用自己会发生什么? .mp4 13.43M | ├──18 06 python-为什么前面的代码会报错? .mp4 8.69M | ├──18 07 python-修改报错的代码 .mp4 21.67M | ├──18 08 python-二叉树的遍历方式 .mp4 20.01M | ├──18 09 python-什么是递归 .mp4 11.92M | ├──18 10 python-递归三要素 .mp4 16.52M | ├──18 11 python-递归的时间复杂度 .mp4 30.90M | ├──18 12 python-练习题二 .mp4 16.40M | ├──18 13 python-练习题三 .mp4 23.04M | └──18 14 python-总结 .mp4 1.84M ├── 19 第十九章【互动】二叉树的遍历方式(Java 语言) | ├──19 01 Java-什么是二叉树 .mp4 28.27M | ├──19 02 Java-二叉树的递归遍历 .mp4 41.19M | ├──19 03 Java-先序、中序和后序遍历 .mp4 37.82M | ├──19 04 Java-递归的定义和三要素 .mp4 36.50M | ├──19 05 Java-递归的复杂度分析 .mp4 23.61M | ├──19 06 Java-Binary tree leaf sum .mp4 13.42M | └──19 07 Java-Maximum depth of binary tree .mp4 22.69M ├── 20 第二十章【直播】栈和队列 Stack & Queue | └── 20 栈和队列 Stack & Queue .mp4 273.28M ├── 21 第二十一章【直播】二叉树、二叉树的宽度与深度优先遍历,递归 | └── 21 二叉树、二叉树的宽度与深度优先遍历,递归 .mp4 267.85M ├── 22 第二十二章【互动】手把手带写代码——栈和队列(Python 语言) | ├──22 01 【基础班】492-python .mp4 18.99M | ├──22 02 【基础班】541-python .mp4 18.10M | ├──22 03 【基础班】421-python .mp4 20.62M | └──22 04 【基础班】575-python .mp4 23.01M ├── 23 第二十三章【互动】手把手带写代码——栈和队列(Java 语言) | ├── 12 第十二章【互动】手把手带写代码——字符串(Python 语言) | | ├──12 01 【基础班】1781-PYTHON .mp4 8.88M | | ├──12 02 【基础班】1784-PYTHON .mp4 11.62M | | ├──12 03 【基础班】958-PYTHON .mp4 19.71M | | └──12 04 【基础班】1819-PYTHON .mp4 14.36M | ├──23 01 【基础班】492-java .mp4 18.77M | ├──23 02 【基础班】541-java .mp4 19.60M | └──23 04 【基础班】575-java .mp4 39.40M ├── 24 第二十四章【互动】手把手带写代码——二叉树(Python 语言) | ├──24 01 【基础班】71-python .mp4 30.01M | ├──24 02 【基础班】650-python .mp4 25.51M | ├──24 03 【基础班】1807-python(递归+递推) .mp4 22.74M | └──24 04 【基础班】1807-python(记忆化搜索) .mp4 12.77M ├── 25 第二十五章【互动】手把手带写代码——二叉树(Java 语言) | ├──25 01 【基础班】71-java .mp4 26.59M | ├──25 02 【基础班】650-java .mp4 25.77M | ├──25 03 【基础班】1807-java(递归+递推) .mp4 19.49M | └──25 04 【基础班】1807-java(记忆化搜索) .mp4 14.15M ├── 26 第二十六章【互动】二叉搜索树(Python 语言) | ├──26 01 python-本节重点和上节回顾 .mp4 12.24M | ├──26 02 python-宽度优先遍历的实现过程 .mp4 35.84M | ├──26 03 python-分层遍历 .mp4 43.63M | ├──26 04 python-练习一 .mp4 16.20M | ├──26 05 python-练习二 .mp4 25.52M | ├──26 06 python-什么是BST .mp4 7.88M | ├──26 07 python-BST的基本操作之插入 .mp4 36.87M | ├──26 08 python-BST的基本操作之查找 .mp4 13.22M | ├──26 09 python-BST的时间复杂度和空间复杂度 .mp4 7.62M | ├──26 10 python-平衡BST的应用 .mp4 2.39M | ├──26 11 python-练习三和四 .mp4 47.35M | └──26 12 26python-总结 .mp4 1.82M ├── 27 第二十七章【互动】二叉搜索树(Java 语言) | ├──27 01 Java-普通遍历 .mp4 41.16M | ├──27 02 Java-分层遍历 .mp4 23.78M | ├──27 03 Java-二叉树宽度优先遍历的复杂度分析 .mp4 23.72M | ├──27 04 Java-Binary Tree Level Order Traversal .mp4 15.42M | ├──27 05 Java-Convert Binary Tree to Linked Lists by Depth .mp4 21.40M | ├──27 06 Java-Identical binary tree .mp4 26.88M | ├──27 07 Java-Validate balanced binary tree .mp4 22.45M | └──27 08 Java-Validate Binary Search Tree .mp4 26.76M ├── 28 第二十八章【互动】集合与字典 set & dictionary(Python 语言) | ├──28 01 31python-本节重点和上节回顾 .mp4 6.20M | ├──28 02 31python-set的简介 .mp4 7.75M | ├──28 03 31python-set的常见操作 .mp4 21.18M | ├──28 04 31python-set集合间的操作 .mp4 17.19M | ├──28 05 31python-练习一 .mp4 12.76M | ├──28 06 31python-字典的基本操作 .mp4 58.41M | ├──28 07 31python-练习二 .mp4 13.56M | ├──28 08 31python-集合和字典的实现 .mp4 18.06M | ├──28 09 31python-hash table VS BST .mp4 6.79M | ├──28 10 31python-哈希表设计要素之哈希函数 .mp4 23.79M | ├──28 11 31python-哈希表设计要素之哈希冲突 .mp4 14.35M | ├──28 12 31python-哈希表设计要素之重哈希 .mp4 5.30M | ├──28 13 31python-分治法练习三 .mp4 26.86M | ├──28 14 31python-分治法练习四 .mp4 34.69M | ├──28 15 31python-分治法练习五 .mp4 13.43M | └──28 16 31python-总结 .mp4 2.54M ├── 29 第二十九章【互动】哈希表 Set & Map(Java 语言) | ├──29 01 32Java-集合和索引 .mp4 32.91M | ├──29 02 32Java-哈希表及其实现 .mp4 21.74M | ├──29 03 32Java-哈希表和冲突解决-重哈希 .mp4 19.48M | ├──29 04 32Java-哈希表的冲突解决-开散列 .mp4 32.81M | └──29 05 32Java-哈希表的冲突解决-闭散列 .mp4 21.61M ├── 30 第三十章【直播】利用分治法解决树的问题,二叉搜索树 | └──利用分治法解决树的问题,二叉搜索树 .mov 1.17G ├── 31 第三十一章【互动】哈希 Hash | ├──31-1 哈希表基础 .mp4 100.63M | ├──31-2 哈希函数 .mp4 59.94M | ├──31-3 Java中的hashCode方法 .mp4 132.62M | ├──31-4 链地址法 Seperate Chaining .mp4 29.23M | ├──31-5 实现属于我们自己的哈希表 .mp4 111.39M | ├──31-6 哈希表的动态空间处理与复杂度分析 .mp4 135.77M | ├──31-7 哈希表更复杂的动态空间处理方法 .mp4 122.33M | └──31-8 更多哈希冲突的处理方法 .mp4 21.56M ├── 32 第三十二章【互动】手把手带写代码——分治法(Python 语言) | ├──二叉树中的最大路径和 .mov 2.52G | ├──修剪二叉搜索树 .mov 2.86G | ├──在二叉搜索树中查找 .mov 2.38G | └──子树 .mov 3.94G ├── 33 第三十三章【互动】手把手带写代码——分治法(Java 语言) | ├──二叉搜索树中查找 .mov 2.38G | └──修剪二叉搜索树 .mov 3.92G ├── 34 第三十四章【互动】手把手带写代码——哈希表(Python 语言) | ├──查找子数组 .mov 2.21G | ├──差为k的数对数量 .mov 1.35G | ├──句子相似性 .mov 4.84G | └──森林中的兔子 .mov 4.35G ├── 35 第三十五章【互动】手把手带写代码——哈希表(Java 语言) | ├──查找子数组 .mov 1.67G | ├──差为k的数对数量 .mov 1.67G | ├──句子相似性 .mov 2.28G | └──森林中的兔子 .mov 2.73G ├── 36 第三十六章【互动】排序算法 Quick Sort & Merge Sort(Python 语言) | ├──36.1普通排序算法 .mov 2.33G | ├──36.2归并排序1 .mov 9.56G | ├──36.3归并排序2 .mov 3.67G | ├──36.4分治法的代码思考方式 .mov 1.71G | ├──36.5归并排序的复杂度 .mov 5.77G | ├──36.6快速排序 .mov 6.10G | ├──36.7快排的细节问题 .mov 7.32G | ├──36.8快排的复杂度 .mov 2.78G | └──36.9总结 .mov 2.83G ├── 37 第三十七章【互动】高级排序算法(Java 语言) | ├──37-1 冒泡排序的基本思想(泉州大白网络科技) .mp4 51.04M | ├──37-2实现冒泡排序法(泉州大白网络科技) .mp4 64.01M | ├──37-3冒泡排序的优化(泉州大白网络科技) .mp4 105.81M | ├──37-4冒泡排序还能优化(泉州大白网络科技) .mp4 116.47M | ├──37-5换个方式实现冒泡排序(泉州大白网络科技) .mp4 10.90M | └──37-6冒泡排序的特点(泉州大白网络科技) .mp4 12.35M ├── 38 第三十八章【互动】排序队列 | ├──38-1基于堆的优先队列(泉州大白网络科技) .mp4 43.05M | ├──38-2Top K 问题(泉州大白网络科技) .mp4 81.66M | ├──38-3作业:使用优先队列解决 Select K 问题(泉州大白网络科技) .mp4 15.31M | ├──38-4使用 Java 中的 PriorityQueue(泉州大白网络科技) .mp4 85.28M | ├──38-5使用快排思想和优先队列解决 Top K 问题的比较 .mp4 45.60M | └──38-6和堆相关的更多话题和广义队列(泉州大白网络科技) .mp4 75.23M ├── 39 第三十九章【互动】手把手带写代码——排序(Python 语言) | ├──逆序对 .mov 1.64G | ├──颜色分类 .mov 558.14M | ├──整数排序merge sort .mov 1.22G | └──整数排序快排 .mov 1.50G ├── 40 第四十章【互动】手把手带写代码——排序(Java 语言) | ├──逆序对 .mov 1.78G | ├──颜色分类 .mov 825.56M | ├──整数排序归并 .mov 2.07G | └──整数排序快排 .mov 1.65G ├── 00 必读.txt 0.17kb └──Java-选择排序 .mp4 20.51M






