自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小菜鸟sha的博客

菜鸟的窝

  • 博客(20)
  • 收藏
  • 关注

原创 字符串的排列方式

输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素 利用深搜: class Solution { private: vector<string> ans; public: vector<string> permutation(string s) { dfs(s,0); return ans; } void dfs(string s,int x){

2021-02-17 12:10:36 315

原创 整数反转(c++)

给你一个 32 位的有符号整数 x ,返回 x 中每位上的数字反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。 int 型范围 2147483647 ~ -2147483648 class Solution { public: int reverse(int x) { int ans = 0; while(x != 0){ int temp = x % 10;

2021-02-17 12:07:38 689 1

原创 堆排序(寻找数组中第K个最大的数)

堆排序理解 1、建立大顶堆,从最后一个非叶子节点开始。 2、具体过程:用根结点介绍(方便理解写代码): 调整根节点 观察1的动向,我们可以知道,调整一个一般非叶子节点的位置,我们需要多次重复操作。 操作一个非叶子节点的停止条件,左右子节点都比其父节点要小,或者仅有左节点且比父节点小,或者没有子节点了。 我们要从最后一个非叶子节点一直这样调整,直到根节点 下面粘代码: class Solution { public: int findKthLargest(vector<int>&amp

2021-01-22 12:07:59 1499

原创 django实现websocket作为安卓开发后台(软件课设,oo聊天)

主要用到django,dwebsocket,mysql(这里给个大致流程,帮助有类似需要的同学指明方向) 没有想象的那么难,作为安卓端后台服务器,首先要搞明白干啥 1,建立连接,处理数据(其实就这俩,不需要推送网页啥的) 2,django自带的数据库使用的方法,只需要简单的修改settings即可连接mysql数据库。 下面详细的讲讲: 一、数据库 1,下载django和dwebsocket,注意python肯定是必要的。 2,下载mysql,初始化用户密码。(必要的,否则会有空密码情况,总是出错) 3,m

2021-01-17 15:24:17 876 1

原创 django ,websocket

Django asgi实现websocket(不止支持http) 请看此链接视频:https://www.bilibili.com/video/BV1cV41167s9?from=search&seid=17064426832291122764

2020-12-17 22:19:51 429

原创 有两个序列a,b,大小都为n,序列元素的值时任意型整数,无序:要求交换a,b中的元素,是序列a元素的和与序列b元素的和之间的差最小。

问题阐述: 1.有两个序列a,b,大小都为n,序列元素的值时任意型整数,无序:要求交换a,b中的元素,是序列a元素的和与序列b元素的和之间的差最小。 问题分析: 1.经过很长时间的思考,并通过浏览各路大神的分析,本小白最终锁定此问题是背包问题。 2.将两个列表合成一个列表命名为c,所有元素求和得到sum,最终得到的两个列表为deal_a 和deal_b 搞成背包问题,看看有几个约束 1.差值最小,我们可以预测到,最终得到的两个数组一定在sum/2 的周围, 可以假设deal_a<=sum/2 和dea

2020-10-13 21:29:52 685 1

原创 Dijkstra算法啦啦啦啦

#include <cstdio> #include <cstdlib> #include <cstring> #define n 6 #define m 9 #define inf 0x3f3f3f3f int e[9][3]; //起始点,结束点,权值 int first[n], last[m]; int dis[n][3]; void Initial() ...

2019-09-06 20:12:45 190

原创 距离向量路由算法

#include <stdio.h> #include<stdlib.h> #include <string.h> #include <iostream> using namespace std; #define N 6 typedef struct road { //int destination; int nextjump; ...

2019-09-06 20:09:38 1624

原创 网络层部分协议(复习)

一 ****************************************************************** 无类域间路由(CIDR)(改善IP) *消除传统的A类,B类,C类地址界限 *融合子网地址与子网掩码,方便子网划分 格式:a.b.c.d/x 优势:1.提高IPV4的地址分配效率 2.提高路由效率 a.将多个子网据何为一个较大的子网 b.构造超网(super n...

2019-09-06 20:00:36 411 1

原创 八皇后位运算优化

八皇后(N=8)基本要求: 任意两点不得在同一列或同一行 任意两点连线不得与对角线重合或平行 方法 采用递归方法进行寻找 利用位运算来进行优化 变量 board(棋盘) 初始化:board=(1>>N)-1 (board二进制表示为 :11111111) row(存储已经放上棋子的列,表示为1 ,未存放棋子的列表示为0 ) left_Diagonal(自左向右的对角线)(本行...

2019-08-30 13:18:34 370

原创 tcp可靠数据传输(c语言)

tcp可靠数据传输(c语言实现) 做后反思: 并没有考虑比特位差的错误(我并没有将操作严谨到将操作降低到比特级别,因为在模拟过程中丢包是用随机丢包实现的,而存在比特位差也是类似,并且后果与丢包一致,都是重传,所以没有必要)(同时,此模拟并没有尝试流量控制) 1.快速重传, 2.超时重传(超时重传的计时器可以直接通过函数去设置recv和send,并不复杂) 客户端: 发送 包 2.序号——>...

2019-08-23 16:14:50 1643

原创 c++类的学习及理解

类的基本形式 class A (A是类的名字,相当于一个自制数据类型) { public(private/protected): ==说明类成员的类型 有这三种== double num;(可以声明变量) double GetDoubleNum(void)(也可以定义函数,名为 成员函数) { return num*2.0; } }; 成员函数 可以内联,即上面直接在类定义中定义;...

2019-06-05 13:00:12 395

原创 shell编程,日结

1. 从文件中找到符合标准的行,并将每行分别存入到数组中 read -p "input :" keywords n=$(grep -c "${keywords}" ./information.txt)# 通过使用grep -c来统计有多少行符合要求 echo $n for ((i=1;i<=$n;i++)) do content[${i}-1]=$(cat ./information.txt...

2019-05-27 19:07:50 405

原创 bad substitution

初接触shell脚本,在vim中写代码,出现了好几次 Bad substitution。 我的错误有两种: 开始的的指定脚本环境 应该是#!/bin/bash 在编译运行时 也应该用 bash ${}的使用错误,$() 是引用()中运行的结果。 ${} 仅仅是用{}中的内容,是参数,不执行 ...

2019-05-21 13:24:11 21449

原创 二叉排序树的非递归后序遍历

主要采用压栈的方法 首先,后序遍历指的是 :先访问左子树,再访问右子树,最后访问根节点。 (后序,前序,中序,指的都是根节点的位次) 后序遍历(非递归) 后序遍历比较麻烦,需要经过两次压栈。(假设有n个节点) 我们要建立两个栈,每个栈的长度设置为n (保证空间足够,不过读者可以自行优化) 首先,将根节点压入,栈1,然后开始循环 (先看代码,不理解后面有解释,坚持,嘿嘿) //格式如下 int ...

2019-05-20 18:32:36 646

原创 二叉树创建(错误分享,开心一下),及删除(重点内容)

由于要面对考试,重写一下二叉树的构建,结果各种出错,整理一下 前期我陷入对指针应用的迷惑。 错误及其离谱 例如: void CreateTree(tree *&root,int n) { while (root) root=root->child[n>root->power];//明明使用了引用,却一直在改变root值, //显然会...

2019-05-18 21:34:22 517

原创 有向无环图的拓扑排序

首先,介绍一下有向无环图。 从字面上理解: 1,为有向图 2,无环 举例, 1.有向的二叉树是特殊的有向无环图。 2.如图(关键部分) 对于有向图来说,深度优先遍历下,若从head出发到结束时出现一条从head的下级节点mid开始指向head的一条路径,则必定此图有环。 拓扑排序 首先,拓扑排序的对象肯定是有向无环图中左右的点。 其次,若存在路径从a指向b,则拓扑排序结果中a一定在b的前面...

2019-05-17 21:10:57 1937

原创 三元组快速转置算法

阅读本文,默认你已经看了三元组及其基本存储结构,这里只有快速转置方法 初始三元组为M,并且是以行为标准排列, 转置重点考虑列的情况。 用T来存储转制后的三元组 #define MAX 3 typedef struct { int i,j; int num; }triple;//存放三元组中每行三个数 typedef struct{ //用triple创建三元组 trip...

2019-05-16 20:31:24 5456

原创 快速排序

(数据结构 “快速排序” 学习整理,及个人理解)

2019-05-01 09:53:59 198

原创 插入排序

排序 (对数据结构学习的整理) (对应升序排列,个人总结规律并不普遍,不过可以帮助理解) First. 1. 插入排序 (直接插入排序 ,折半插入排序 ,2-路插入排序 ,表插入排序) 这里主要讨论 直接插入排序 和 表插入排序 直接插入排序 : 将一个数插入到一个已将排好序的有序表中,得到一个新的且记录数增加1的有序表。(此处记录的是有哨兵的那种) i=0 i>0 ...

2019-05-01 00:13:02 826

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除