数据结构
SSoRAA
这个作者很懒,什么都没留下…
展开
-
二叉树的定义与构造函数使用
力扣定义如下struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode() : val(0), left(nullptr), right(nullptr) {} TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} TreeNode(int x, TreeNode *left, TreeNode *right) : val(原创 2021-04-13 21:12:31 · 633 阅读 · 0 评论 -
二叉树的遍历傻瓜理解
原来二叉树的前序遍历、中序遍历、后序遍历只是return在代码中的位置不同就可以实现了前序在左右前返回;中序在左后右前返回;后序在左右后返回;使用vector变量ans记录遍历结果。 void preorder(TreeNode* root,vector<int> &ans) { //前序遍历 if (root==nullptr) return; else { ans.push_back( root->val);//在这里返回输原创 2021-04-13 20:26:54 · 125 阅读 · 0 评论 -
八大排序算法的一句话总结
总结冒泡排序:左右比较交换顺序,重复直到完成选择排序挑出最小的排最前,再挑出第二小的放第二,重复直到完成插入排序先取出来(从第二位开始),再往左(小的方向)找到合适的位置插进去,重复直到完成详细一点一、冒泡排序1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.针对所有的元素重复以上的步骤,除了最后一个。3.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较void bubble_sort(int a[], int size){ for(int原创 2021-03-03 19:28:43 · 227 阅读 · 1 评论