第一章 排序 第一节 简化版桶排法 友情提示:此文章分享给所有小白,大牛请绕路! 生活中很多地方需要使用排序,价格的由低到高.距离的由远及近等,都是排序问题的体现.如果排序量较少,依靠个人能力很容易实现:但如果排序种类多.数量大,则很难依靠脑力解决.这时就需要我们利用算法来解决问题. 如果你现在还没离开,那么我就认为你是和我一样不怎么懂算法的小白了. 你是否学习过C语言?请继续:请学习C语言后再回来: 还没有离开?!那么说明你看懂了上面表达式,问题正式开始. 问题:在一次评比过程中,五位同学分别…
第三章 搜索 深度优先搜索与宽度优先搜索 定义 深度优先搜索(DFS) 过程简要来说是对每一个可能的分支路径深入到不能再深入为止,而且每个节点只能访问一次. 宽度优先搜索(BFS) 不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止. 深度优先 与 宽度优先 实现的本质 深优的本质是递归,自己调用自己. 宽优的本质是利用队列经行的搜索. 深度优先与宽度优先区别 深优的话,占内存少,能找到最优解(一定条件下),但能很快找到接近解(优解),可能不必遍历所有分枝(也就是速度快).时间复杂度高.…
第二章 暴力求解(枚举法) 第一节 小学奥数题-程序求解 观察下面的加法算式:       祥 瑞 生 辉   +   三 羊 献 瑞 -------------------    三 羊 生 瑞 气 其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字,且"三"字不为 0 . 请计算所有的汉字代表什么意思. 这是一道经典的小学奥数题,相信有不少同学曾经遇到过类似的题目,如果单纯的笔算将花费大量的时间,而暴力求解则可以利用计算机快速得出结果.而且不需要思考任何数字的可能值. 给出代…
第一章 排序 第三节 快速排序 快速排序是最常用的排序方法.快排运用的递归方法很有意思.掌握了这种排序方法可以在将来学习递归时更快入门.只是快排的思路与之前的排序方法相比较为复杂,再加担心上我的表达能力会让让大家产生误解,所以推荐大家去看大牛的博客,我只给出代码,如果有不懂的同学,可以在评论留下问题,我会尽快回答的. #include<stdio.h> int a[101],n; // 定义全局变量,这两个变量需要在子函数中使用 void quicksort(int left,int righ…
百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读者可以轻松与快递地掌握解决问题方法和程序设计思维的.“编程从孩子抓起”得到越来越多的人的认同和重视.本书是父母教孩子学习python程序设计的亲子读物. 目录 第1章Python基础——认识环境11.1认识Python31.2用Python编写程序51.3运行Python程序51.4本章小结61.5…
libnode 0.4.0 支持 Windows ,提升了性能,libuv 更新到 0.10.17 版本,libj 更新到 0.8.2 版本. libnode 是 C++ 语言版的 Node.js,和 Node.js 一样,libnode 提供了非堵塞的 I/O,可让你用 C++ 开发可伸缩的 Web 应用,实现了基于 shared_ptr 或 bdw-gc 自动的内存管理.libnode 很适合在嵌入式设备上使用,因为其系统资源消耗非常的低.…
快速排序(Quicksort)是对冒泡排序的一种改进.  快速排序由C. A. R. Hoare在1962年提出.它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列.          设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数…
本节开始将带领大家系统地学习数据结构,作为一门计算机专业大二学生的必修课程,该课程面对的目标人群为初步具备基本编程能力和编程思想的程序员(大一接触了 C 语言或者 C++).通过系统地学习数据结构,可以提高程序员分析问题和解决问题的能力. 首先,先来揭开数据结构的神秘面纱,看看什么是数据结构. 数据结构是什么? 数据结构,可以将之分为“数据”和“结构”两个方面去理解. 数据,很好理解.都说人离不开空气,感觉剥夺实验告诉我们,人也离不开信息,而信息实际上就是对数据进行加工后得到的产物.信息的形式多…
首发于微信公众号<前端成长记>,写于 2019.11.21 背景 本文记录刷题过程中的整个思考过程,以供参考.主要内容涵盖: 题目分析设想 编写代码验证 查阅他人解法 思考总结 目录 67.二进制求和 69.x的平方根 70.爬楼梯 83.删除排序链表中的重复元素 88.合并两个有序数组 Easy 67.二进制求和 题目地址 题目描述 给定两个二进制字符串,返回他们的和(用二进制表示). 输入为非空字符串且只包含数字 1 和 0. 示例: 输入: a = "11", b =…
PS:所有的代码示例使用的都是这个图 2019-10-29 利用p126的算法5.3建立二叉树,并完成三种遍历算法 中序 后序 先序 #include<iostream> #include<stack> #define TElemType char using namespace std; typedef struct BiTNode { TElemType data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; //先序遍历…