- 博客(8)
- 收藏
- 关注
原创 c++ 学习杂记
C++ 学习杂记 (1)delete 和 delete [] 的区别 总结:delete 和 delete [] 都可以释放存储空间,但是delete只会调用数组 [0] 对象的析构函数,delete [] 会调用每一个对象的析构函数。(为了确保安全,对于数组对象,建议统一使用delete []) 如果声明的数组对象是一些简单数据类型,如 int,则两种方法无区别。 如果声明的数组对象是一些自定义的类,并且这个类使用了一些系统资源等(比如:Socket、File、Thread等),需要调用其析构函数才能释
2021-04-06 11:14:47
212
原创 算法学习-06-重构二叉树
算法学习-06-重构二叉树-C++ 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 输入:[1,2,3,4,5,6,7],[3,2,4,1,6,5,7] 输出:{1,2,5,3,4,6,7} 分析:已知二叉树的先序和中序遍历,要求重构二叉树。先序的顺序是:(1)当前节点,(2)当前节点的左子节点,(3)当前节点的
2021-01-29 17:47:41
228
原创 算法学习-05-从尾到头打印链表
算法学习-05-从尾到头打印链表-C++ 题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 输入:{67,0,24,58} 输出:[58,24,0,67] 分析:我们可以先遍历一遍链表,将每个节点的值依次存储在一个数组中,再从交换数组中元素的顺序,使之成为从尾到头。 大概步骤如下: 依次遍历链表,并把每个节点值依次存储在数组中。 交换数组中元素的顺序,使之成为从尾到头。 非递归版本:C++代码实现 vector<int> printListFromTailTo
2021-01-29 17:17:09
207
原创 算法学习-04-二维数组中的查找
算法学习-04-二维数组中的查找-C++ 题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 输入:7,[[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]] 输出:true 分析:我们可以采用最简单直接的方法,直接遍历二维数组,时间复杂度为O(n^2)。但是这种方法没有充分利用给出的二维数组行和列递增的特点。首先我们知道
2021-01-29 16:13:34
234
原创 算法学习-03-斐波那契数列 和 跳台阶 和 矩形覆盖
算法学习-03-斐波那契数列 和 跳台阶-C++ 题目1:斐波那契数列 **:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。 输入:4 输出:3 分析:斐波那契数列的定义是:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*),也就是说第三项等于前两项的和,而当为0项为0,第1项为1,同理知第2项为1,第3项为2,第4项时为3。因此,我们可以采用递归的方法。 递归方法: C++代码实现
2021-01-28 19:01:46
301
原创 算法学习-02-排序
算法学习-02-排序-C++ 题目:给定一个数组,请你编写一个函数,返回该数组排序后的形式。 输入:[5,2,3,1,4] 输出:[1,2,3,4,5] 分析:排序算法已经有很多了,比如冒泡排序,选择排序,插入排序等等。为了减少时间复杂度,我们选用快速排序。(快速排序并不是在所有情况下都是最优的,STL中sort()算法就是结合快速排序,插入排序和堆排序) 简略过程如下: (1)确定待排序数列左右边界,左(left),右(right),并选取一个基准数(一般选第一个数或者最后一个数),然后将这个数列中
2021-01-27 17:13:43
279
原创 算法学习-01-求平方根
算法总结——求平方根——C++实现 题目:实现函数 int sqrt(int x).计算并返回x的平方根(向下取整)。 输入:2 输出:1 分析:可以让从1到x依次的平方(设数为a,平方为aa)依次与x对比大小,当 aa<=x且(a+1)*(a+1)>x的时候即满足题目要求,此时a就是我们的平方根数。但是,依次对比的时间复杂度显然过高,依次我们采用“二分法”。具体过程如下: (1)确定二分区间的左右边界,左(left)为1,右(right)为x。 (2)计算左右边界的中值大小mid = (
2021-01-27 16:42:14
550
原创 机器学习——tensorflow常用函数
机器学习tensorflow常用函数 ** tensorflow常用函数 tf.stack(values,axis=0,name=‘stack’) 例子: ‘x' is [1,4] 'y' is [2,5] 'z' is [3,6] stack([x,y,z]) => [ [1,4],[2,5],[3,6]] #默认axis=0时,以行的形式保存 stack([x,y,z],axis=1) => [ [1,2,3],[4,5,6]] #axis
2020-05-11 21:22:25
328
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅