- 博客(28)
- 收藏
- 关注
原创 指针数组和数组指针
指针数组,即指针类型的数组,数组中的每个元素是一个指针例如:首先,[ ] 的优先级高 * ,所以arr[3]首先是一个整体,也就是有一个数组,那么这个数组是 int* 类型,也就是数组中么个元素都是一个int型指针。
2022-11-28 19:03:14
294
原创 Vue3.0
什么是hook?—— 本质是一个函数,把setup函数中使用的Composition API进行了封装。类似于vue2.x中的mixin。自定义hook的优势: 复用代码, 让setup中的逻辑更清楚易懂。
2022-09-21 08:43:27
806
原创 剑指offer数据结构与算法第5章(030-035)
030 插入删除和随机访问都是O(1)的容器要随机访问,且概率相同,必然需要按顺序存储数据,这样才可以随机生成下表访问;为了能够O(1)的添加和删除,需要先知道容器中有无这个数据,如果只有数组,必须要遍历,这样时间复杂度就会为O(n),那么我们用哈希表来存储数据,键为数据,值就为数据在数组中的下标,这样对数组的修改也方便。js的Map对象可以实现这些需求,它可以通过new Map()创建一个空的对象,内部数据和object一样,通过 has()获知哈希表中有无数据,通过set()函数有则修改无则添加
2022-09-21 08:40:08
120
原创 Vue2.0
Vue是什么一套用于构建用户界面的渐进式javascript框架;Vue可以自底向上逐层的应用。简单应用:只需一个沁凉小巧的核心库复杂应用:可以引入各式各样的Vue
2022-05-19 22:37:39
647
原创 前端计网——TCP&UDP
TCP和UDP的概念TCPTCP的全称是传输控制协议,是一种面向连接的,可靠的,基于字节流的传输层通信协议。UDPUDP的全称是用户数据报协议,是一种无连接的协议。比较
2022-04-27 14:17:00
754
原创 前端计网——HTTP与HTTPS
HTTP协议一种无状态的,以请求/应答方式运行的超文本传输协议,它使用可扩展的语义和自描述消息格式,与基于网络的超文本信息系统灵活的互动。HTTP报文格式基本组成HTTP请求报文和响应报文的结构基本相同,由三大部分组成:起始行(start line):描述请求或响应的基本信息头部字段集合(header):使用key-value形式更详细的说明报文消息正文(entity):实际传输的数据,它不一定是纯文本,可以是图片、视频等二进制数据起始行1.请求报文起始行格式method空
2022-04-27 09:39:18
357
原创 web前端学习笔记之promise
文章目录1 promise的理解和使用1.1 promise是什么1.2 为什么要用promise2 promise使用体验2.1 抽奖案例2.2 fs读文件案例2.3 AJAAX请求1 promise的理解和使用1.1 promise是什么抽象定义:1).es6中一门新的技术2).是JS中进行异步编程的新的解决方案,旧的方案是回调异步任务具体含义1).promise是一个构造函数2).promise对象可以用来封装一个异步操作并且可以获取其成功/失败的结果异步编程有:fs文件操作、数据
2022-04-21 18:27:27
985
转载 各种问题的成功解决方法
原文:https://www.cnblogs.com/wasi-991017/p/13702313.html我在做操作系统实验时,需要安装软件包,但是一直报错,最后终于找到了这篇文章,还有别的办法也可以修复,但是很麻烦。
2022-04-14 11:40:04
319
原创 web前端学习笔记之Node.js
01 浏览器中的JavaScript运行环境浏览器中的JavaScript的组成部分js核心语法WebAPI:BOM、DOM为什么JavaScript可以在浏览器中执行?浏览器中有JavaScript解析引擎;不同浏览器会有不同JavaScript解析引擎Chrome => V8Firefox => OdinMonkeysafri => JSCoreIE => Chakra其中,V8性能最好为
2022-04-14 10:26:25
2365
原创 web前端学习笔记之JavaScript
JavaScript01 JavaScript简介JS:解释型语言,不需要编译,代码的执行是从上到下一行行执行的,上一行没执行,下一行就不会执行。BOM:操作浏览器发生变化的属性和方法DOM:操作文档流发生变化的属性和方法ECMScript:书写语法和书写规则02 JS基础alert(num),数据出现在浏览器提示框console.log(num),数据输出在浏览器控制台document.write(num),以文档输出,也就是输出在浏览器的页面(body)03 JS代码编写位置1.行
2022-04-09 10:52:05
2989
原创 web前端面试
如果一个函数访问了此函数的父级及父级以上的作用域变量,那么这个函数就是一个闭包;本质上,JS中的每个函数都是一个闭包,因为每个函数都可以访问全局变量。
2022-04-09 10:49:15
1234
原创 剑指offer数据结构与算法前三章(001-020)
#include<iostream>#include <string>#include <algorithm>#include <algorithm>#include< limits.h >#include<vector>#include <unordered_map>#include<math.h>#include<map>#include <set>using n
2022-04-06 09:53:21
1393
原创 剑指offer数据结构与算法第四章链表(021-029)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next)
2022-04-06 09:36:19
1151
原创 web前端学习笔记之css
文章目录027 css内部样式表027 css外部样式表027 css内部样式表什么是css:层叠样式表。语法:每个样式由选择符和声明组成,声明又分为属性和属性值;属性必须放在花括号中,属性与属性值用冒号连接;每条声明用分号结束;当一个属性有多个属性值的时候,属性值与属性值不分先后顺序,用空格隔开即可;在书写样式过程中,空格、换行等操作不影响属性显示。嵌入html:用style标签包裹整个css段,最好是把css放到head标签的最后,使得代码更清晰 <style>
2022-03-26 10:08:08
915
原创 web前端学习笔记之html
002 html解释网页是网站中的一页;文件后缀名为html;html语言不是编程语言,而是一种标记语言,全称 超文本标记语言;003 浏览器知识caniuse.com ,查询标签兼容浏览器的问题常见浏览器:safari浏览器,chrome浏览器,qq浏览器,Edge(ie)浏览器,004 web标准的制定W3C万维网联盟,非盈利组织;标准三大部分HTML结构CSS表现:JS行为:005第一个网页文本最外层应该是< html>标签,相当于一个范围标
2022-03-18 09:18:29
986
原创 数据结构总结
一、线性表一组先后有序存储的数据,分为顺序存储和链式存储。我们把链式存储第一个结点叫做头指针,不存储数据,当头指针的next为空时,线性表空;链式线性表插入数据一般使用头插法,这样更简单而且不用再单独用一个指针。顺序:Typedef struct{ ElemType data[MAXSIZE]; int length;}链式:Typedef struct Node{ ElemType data; struct Node *next;}另外还有一种特殊的结构,静态链表,
2022-03-13 17:14:26
639
原创 排序算法合集:冒泡排序、选择排序、插入排序、希尔排序、堆排序、递归归并排序、非递归归并排序、快速排序
部分排序算法的理解由小到大简单选择排序:从未排序序列中选择一个最小的,加入到已排好序列末尾。直接插入排序:当前结点之前的序列已全部排好,若当前值小于前一个结点,说明它需要换位置,把它先存起来,然后在它之前的序列中,所有比它大的序列后移一位,再把这个结点放到空出来的位置上。希尔排序:设置一个增量k,从第一个点开始,它以及与它相隔n个k位置的数看作一组,每个组内的几个数据用插入方式排好序;实际实现的方式是,从第一个点加上增量k+1的点,也就是第一个分组的第二个点的位置开始,往后逐个做各
2022-03-11 21:30:12
1102
原创 散列表查找(哈希表)C++
概述哈希表查找的思想就是,用哈希函数对每个数据根据键值直接计算出存储位置,这样查找时就不需要逐个比对。哈希查找的重点就是哈希函数的选择以及冲突的处理,不同选择会影响查找的速度。例子哈希函数:addr = key%m冲突处理:(addr+1)%m#include<iostream>using namespace std;#define HASHSIZE 20#define NULLKEY -12345typedef struct{ int* elem; int co
2022-03-09 14:46:51
1508
原创 二叉排序(搜索)树
特点每个顶点总是大于它的左孩子,小于它的右孩子。插入新结点:沿着根节点开始,key大于当前结点就往右子树搜,小于当前结点就往右子树搜,如果等于,说明已经有该结点,插入失败,否则,一直到叶子结点,将当前结点插入对应位置称为新的叶子。删除结点:先找有无结点p,若无,删除失败。若有,分为三种情况:p只有左孩子,将左孩子链接到p的父结点,删除p;p只有右孩子,将右孩子链接到p的父结点,删除p;p有两个孩子,找到p的左孩子的最右孙子,或者p的右孩子的最左孙子,根据二叉排序树的特点可以知道这两个点最接近p,
2022-03-09 10:11:18
67
原创 斐波那契查找C++
斐波那契数列首先要知道斐波那契数列,它利用了黄金分割原理,该序列越往后越接近黄金分割比例0.618,前两个数是对后一个数的分割。算法思路首先要会二分查找,斐波那契查找是对二分查找的mid值的改进。首先我们根据查找数组的长度n,找到大于n且与之最接近的斐波那契数 F[k], 这样我们在后面计算时就可以把这个查找数组根据长度按黄金分割比例分为左右两部分,我们分为左边长F[k-2],右边长F[k-1]。取mid为low+左边长度F[k-1] -1,比较key和a[mid],跟二分查找一样,修改low和h
2022-03-06 09:53:52
1075
原创 AOE网关键路径算法C++(结合拓扑排序)
AOE网AOE即用边来表示活动,点表示事件的网,为有向无环图。只有进入顶点之前的活动全部完成后,才可以开始当前事件。关键路径完成整个工程所需的最短时间取决于从起点到终点中,具有最长路径长度的路径,这条路径即为关键路径。求解过程先求出每个事件(顶点)的最早开始时间(etv)和最晚开始时间(ltv),再根据这个顺序求得每个活动(边)的最早开始时间(ete)和最晚开始时间(lte),ete = lte 的活动即为关键活动。先初始化etv[ ] = {0};etv[ i ] = max{ (etv[
2022-03-05 16:15:40
2618
原创 KMP算法C++
#include<iostream>#include<string>using namespace std; int* KMP_next(string T){ int* next = new int[T.length()];//重点,对指针数组的理解 int i = 0, j = -1; next[0] = -1; while (i < 6) { if (j == -1 || T[i] == T[j]) next[++i] = ++j; els
2022-03-05 10:19:21
357
原创 C++拓扑排序
思想1.先求的图中每个顶点的入度,将入度为0的顶点加入栈或者队列 F;2.从F中取出一个顶点,输出,count++,并删除它的出边,将它邻接顶点的入度-1,并将修改后入度为0的顶点加入F;3.重复第二步直至F为空,若count等于图的总顶点数,说明图中无环。代码//输入示例// 6 7 0 1 2 3 4 5 0 1 1 0 2 3 0 4 3 1 3 5 2 3 1 3 5 4 3 4 3#include<iostream>#include <stack
2022-03-05 10:15:15
412
原创 图的深度优先遍历(DFS)和广度优先遍历(BFS)非递归实现C++
1. 思想从已发现的顶点集合F中拿出一个顶点,访问该顶点,将该顶点的所有相邻且未被发现的顶点加入F,继续执行上述操作,直至F为空。若F为栈,则是深度优先,为队列,则是广度优先。2. 图度优先遍历(DFS)void DFS(MGraph G) //栈实现DFS{ stack<int> visit; //栈,已发现,未访问过的点 int flag[MaxVex]; //标记已访问过的点 for (int i = 0; i < G.numVer; i++) flag[i
2022-03-04 08:56:49
1528
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人