Luck is where opportunity meets preparation. ——Seneca
-
Ubuntu 16.04 + Visual Studio Code (使用vs code仅仅编写代码,编译还是在终端下面使用makefile)
- vs code 下载到本地
- 解压:
sudo dpkg -i your-.deb-file-name
- 然后可以直接在软件中心中搜索到VS code
-
一个很好用的vim插件 (熟悉基本的vim操作)
-
<Essential C++> --Stanley B. Lippman
-
<Data Structures,Algorithms,and Applications in C++> --Sartaj Sahni
Talk is cheap, show me the code ————Linus Torvalds
- 直接循环求两数之和
- 无重复字符最长子串
- 整数反转(取值法)
- 判断回文数(对称取值)
- 两数相加(链表实现),输出正序逆序链表
- 罗马数字转整数
- 最长公共前缀(表格法)
- DP-最长回文子串
- DP-最长非降子序列LIS问题
- 双指针法解三数之和
- 合法括号检测
Bad programmers worry about the code. Good programmers worry about data structures and their relationships. ————Linus Torvalds
Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program ————Linus Torvalds
-
<Essential C++> Chapter 1——c++编程基础
- c++简介
- 一些对象的定义与初始化
- 指针带来的弹性
-
<Essential C++> Chapter 2——面向过程的编程风格
- 函数参数传递方式
- 指针与引用
- 动态内存管理new 与 delete
- inline、重载、模板函数
- 函数指针
-
<Essential C++> Chapter 3——泛型编程风格
- 泛型的概念
- 泛型指针--iterator
- 使用、设计泛型算法
- map 与 set
-
<Essential C++> Chapter 4——基于对象的编程风格
- 实现一个class、成员初始化方法
- 拷贝构造函数
- this指针
- 静态数据/函数成员
- 迭代类的实现(通过运算符重载)
- 函数对象
- 类成员函数指针
-
<Essential C++> Chapter 5——面向对象的编程风格
- OOP介绍
- 抽象基类与派生类
- 虚函数与纯虚函数
- 运行时鉴定机制(RTTI)
-
<Essential C++> chapter 6——以template进行编程
- 实现一个二叉树的类模板(class template)
- 函数模板实现output运算符
- 常量表达式作为模板参数
- 成员模板函数
-
<Essential C++> chapter 7——异常处理
- 抛出异常
- 局部资源管理
- 标准异常
- 函数参数传递方式&模板函数实现冒泡排序
- Fibonicca函数中使用静态对象,避免重复计算
- 使用函数指针调用不同的数列函数
- 泛型函数的实现
- 使用泛型算法
- this指针的使用
- 重载运算符详细实现迭代类
- 函数对象的实现与应用
- 抽象类的建立与使用
- 类模板实现二叉树,分文件实现
- 类模板实现二叉树,在一个文件中实现
- 成员模板函数实现
- 异常处理
- DSAA Chapter-1——C++回顾
- DSAA Chapter-2——程序性能分析
It is not bad to learn from others, but you must remove the parts which are useless or may have bad effects on you; while change and forge good parts and make them into your own. ——(America) Zhenning Yang
Intelligence is the ability to avoid doing work, yet getting the work done. ——Linus Torvalds
笔者比较喜欢玩2048这个小游戏,因此想要模仿下面两个很好的开源项目,实现一遍终端版的2048。然后计划使用第二个开源项目中提到的蒙特卡洛法,在终端版2048的基础上实现 AI 版的2048。
也非常欢迎感兴趣的小伙伴一起加入开发(可以通过主页邮箱联系或者项目issue)!
-
开发笔记 📖
-
参考开源项目