摘要: 写递归代码的关键点 ①写出递推公式,找到终止条件 ②我们看到递归时,我们总想把递归平铺展开,脑子里就会循环,一层一层往下调,然后再一层一层返回,试图想搞清楚计算机每一步都是怎么执行的,这样就很容易被绕进去。对于递归代码,这种试图想清楚整个递和归过程的做法,实际上是进入了一个思维误区。很多时候,我们理 阅读全文
posted @ 2022-04-17 22:21 codemelo 阅读(42) 评论(0) 推荐(0)
摘要: 队列与栈类似,都是基于数组或者链表,都只有入和出两个操作,不过有两点不同 ①栈先进后出,队列先进先出 ②栈只需要一个栈顶指针,队列则需要一头一尾两个指针,这两个是当前队列的界限 队列的出队和入队该怎么做呢? 我们将使用循环队列,因为如果不形成循环队列,当tail指到了数组尽头,再有入队操作时,就得扩 阅读全文
posted @ 2022-04-17 16:56 codemelo 阅读(56) 评论(0) 推荐(0)
摘要: 二分查找,简单来说就是在给定的数据范围,每次取完中间数后,就二分缩小范围(范围的最小值或者最大值,其中一个变成前一次范围的中间值),直到范围区间只有一个数或者找到想要的数。 举个例子 我们假设只有 10 个订单,订单金额分别是:8,11,19,23,27,33,45,55,67,98。还是利用二分思 阅读全文
posted @ 2022-04-17 16:02 codemelo 阅读(99) 评论(0) 推荐(0)