
C/C++
ZHITTY
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
括号问题的解题思路
//采用DFS深度搜索得方式进行求解 是一个不错的思路#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>#include<vector>using namespace std;class Solution {public: vector<string> generateParenthesis(int n) { vector<strin原创 2021-04-02 21:08:19 · 280 阅读 · 0 评论 -
砝码称重-背包问题
#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>using namespace std;int f[1005] = { 0 };#if 0int main(){ int n[7]; int a[7] = {0,1,2,3,5,10,20}; for (int i=1;i<=6;i++) { cin >> n[i]; } //初始化动态规划数组,做动态规原创 2021-03-31 16:20:58 · 225 阅读 · 0 评论 -
二叉树的Z字形变换
今天给大家分享一下二叉树的Z型遍历:思路如下#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>#include <vector>using namespace std;class Solution {public: string convert(string s, int numRows) { if (numRows == 1) return s; vec原创 2021-03-29 20:42:17 · 178 阅读 · 0 评论 -
插入排序
#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>using namespace std;/** 插入排序:* 每次处理就是将无序数列的第一个有序元素 与有序数列的元素从后往前逐个进行比较,找到插入位置, 将该元素插入到有序数列的合适的位置中。 //个人理解:就是把一个待排序的无序序列n,分为一个只有一个元素的有序序列和一个有n-1个数据的无序序列。每次从无序原创 2021-03-20 20:51:51 · 113 阅读 · 0 评论 -
冒泡排序算法的优化
冒泡排序算法的优化#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>using namespace std;//冒泡排序/*冒泡排序算法如下:(升序排列)1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一个相邻的元素作同样的工作,从开始第一队到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复以上的步骤,除了最后一个。4.持续每次对原创 2021-03-17 14:11:50 · 123 阅读 · 0 评论 -
快速排序算法
快速排序的思想总结,易于理解#define _CTR_SECURE_NO_WARNINGS#include <iostream>#include <string>using namespace std;//快速排序/** 快速排序=挖坑填数+分治法* 分治法的基本思想:* 1.先从数列中取出一个数作为基准数* 2.分区过程,将比这个数大的数全放到它右边,小于或等于它的数全放到它的左边* 3.再对左右区间重复第二步,直到各区间只有一个数*/void quick原创 2021-03-17 14:05:02 · 96 阅读 · 0 评论 -
DFS 深度优先搜索
DFS 深度优先搜索主要有两种实现方法:栈和递归什么是DFS?说白了就是一直遍历元素的方式而已,我们可以把它看成是一条小蛇,在每个分叉路口随意选择一条路线走,直到撞到南墙,才会调头返回到上一个分叉路口,走另外一条路,有时候运气很好,撞到了目标点,那么这个算法就结束了。模板:参数1 DFS(参数2){if(返回条件成立) return 参数 ;DFS(进行下一步的搜索遍历) ;回朔;}1)if 语句:作用就是告诉小蛇:是否撞到南墙啦?撞到就返回啦,或者,是否到达终点啦?到了就结束啦!所转载 2021-03-17 14:01:52 · 116 阅读 · 0 评论 -
分时操作系统和实时操作系统
1.linux分时操作系统和RTOS(实时操作系统)我们知道,相对比vxworks,linux内核属于非实时操作系统,原因主要是:(1)实时任务抢占时间是不可预期的。(2)为什么抢占是不可预期的呢?这涉及到内核中的抢占点知识,其中spin_lock锁,在unlock时是一个抢占点,但是spinlock本身内部是不可以抢占的,这种api在内核中大量使用,事实上是spin_lock与spin_unlock之间临界区代码片段不可预期的。实时操作系统的重要特性就是系统中的实时任务,要在一个可预期的时间范围内原创 2021-03-15 09:15:45 · 1836 阅读 · 0 评论