- 博客(20)
- 收藏
- 关注
原创 贪心算法详解
贪心算法,又称贪婪算法,是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
2022-07-03 12:24:46 129
原创 C语言实现“链表添加”
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int id; char *name; struct Node *pNext;}List;List *GetNode(int id,char *name){ List *pTemp=(List *)malloc(sizeof(List)); pTemp->id=id; pTemp->name=name; pTemp->p.
2022-03-14 13:02:16 1748
原创 利用C语言打印表白动态爱心
哇,有点糊。闲话少说,直接上代码!#include <stdio.h>#include <math.h>#include <windows.h>#include <tchar.h> float f(float x, float y, float z) {float a = x * x + 9.0f / 4.0f * y * y + z * z - 1;return a * a * a - x * x * z * z * z - 9...
2022-03-01 22:17:30 8893 9
原创 【无标题】
索引就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,实质上是一张描述索引列的列值与原表中记录行之间一 一对应关系的有序表。隔离性:不同事务之间互不影响,四种隔离级别为RU(读未提交)、RC(读已提交)、RR(可重复读)、SERIALIZABLE (串行化)。索引是 MySQL 中十分重要的数据库对象,是数据库性能调优技术的基础,常用于实现数据的快速检索。持久性:事务提交后,对数据的修改是永久性的,即使系统故障也不会丢失。一致性:事务开始和结束后,数据库的完整性不会被破坏。
2022-11-07 11:31:35 118 1
原创 完成端口的几个重要问题
1)使用“同步”的方式来通信的话,这里说的同步的方式就是说所有的操作都在一个线程内顺序执行完成,这么做缺点是很明显的因为同步的通信操作会阻塞住来自同一个线程的任何其他操作,只有这个操作完成了之后,后续的操作才可以完成;(3)而微软提出完成端口模型的初衷,就是为了解决这种"one-thread-per-client"的缺点的,它充分利用内核对象的调度,只使用少量的几个线程来处理和客户端的所有通信,消除了无谓的线程上下文切换,最大限度的提高了网络通信的性能,这种神奇的效果具体是如何实现的请看下文。......
2022-07-21 12:54:02 179
原创 TCP相关知识及面试考点详解
拥塞控制也叫作基于窗口的拥塞控制,为此,发送方维持一个叫做拥塞窗口cwnd(congestionwindow)的状态变量,拥塞窗口的大小取决于网络的拥塞程度,并且在动态的发生变化,发送方让自己的发送窗口等于拥塞窗口(注在这里我们假设接受方总是有足够大的缓存空间,因而发送窗口的大小取决于网络的拥塞程度,实际上真正的窗口值=min(接收方窗口,拥塞窗口)发送方控制拥塞窗口cwnd的原则是只要网络没有出现拥塞,拥塞窗口就可以在增大一些,以便把更多的分组发送出去。③客户端收到,我们建立连接吧!...
2022-07-19 10:27:32 238
原创 IP协议相关知识整理
IP(IPv4、IPv6)相当于OSI参考模型中的第3层——网络层。网络层的主要作用是“实现终端节点之间的通信”。这种终端节点之间的通信也叫“点对点(end-to-end)通信”。IP大致分为三大作用模块,它们是IP寻址、路由(最终节点为止的转发)以及IP分包与组包。IP地址:在计算机通信中,为了识别通信对端,必须要有一个类似于地址的识别码进行标识。作为网络层的IP,也有这种地址信息。一般叫做IP地址。IP的头每行有32位,分为版本,头长度,区分服务等十多项内容。第一个版本,记录IP头为IPv4的头还是
2022-07-12 17:14:26 507
原创 OSI参考模型
发送方从第7层、第6层到第1层由上至下按照顺序传输数据,而接收端则从第1层、第2层到第7层由下至上向每个上一级分层传输数据。每个分层上,每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息(如发送的目标地址以及协议相关信息),然后接收端对收到的数据进行数据“首部”与“内容”的分离,再转发给上一分层,并最终将发送端的数据恢复为原状。■ 应用层为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。■ 表示层将应用处理的信息转换为适合网络传输
2022-07-12 16:59:14 584
原创 常见易混淆的面试题:阻塞 非阻塞 同步 异步 io模型
什么是阻塞和非阻塞?阻塞和非阻塞是针对于进程在访问数据时,根据IO操作的就绪状态而采取的不同方式,简单来说是一种读取或写入操作函数的实现方式,阻塞方式下读取或写入函数将一直等待。非阻塞方式下,读取和写入函数会立即返回一个状态值。什么是同步和异步?同步和异步是针对应用程序和内核的交互而言的,同步是指用户进程触发IO操作并等待或轮询的查看IO操作是否就绪,异步是指用户进程触发IO操作以后便开始做自己的事情,当IO操作完成时会得到通知,换句话说异步的特点就是通知。什么是IO模型?一般而言,IO模型可以分为四
2022-07-12 13:09:52 451
转载 C语言结构体详解
结构体定义时需要先定义结构体类型,然后再用类型来定义变量。也可以在定义结构体类型的同时定义结构体变量。从数组到结构体的进步之处(1)结构体可以认为是从数组发展而来的。其实数组和结构体都算是数据结构的范畴了,数组就是最简单的数据结构、结构体比数组更复杂一些,链表、哈希表之类的比结构体又复杂一些;二叉树、图等又更复杂一些。(2)数组有2个明显的缺陷:第一个是定义时必须明确给出大小,且这个大小在以后不能再更改;第二个是数组要求所有的元素的类型必须一致。更复杂的数据结构中就致力于解决数组的这两个缺陷。(3)结构体是
2022-07-11 15:23:24 1421
原创 this指针的理解及用法
首先,我们都知道类的成员函数可以访问类的数据(限定符只是限定于类外的一些操作,类内的一切对于成员函数来说都是透明的),那么成员函数如何知道哪个对象的数据成员要被操作呢,原因在于每个对象都拥有一个指针:this指针。...
2022-07-09 10:27:53 287
原创 stdlib.h头文件中包含的函数及用法
stdlib.h是一些常用的函数,但是又不知道把它们放到哪里合适,因此就都放到了stdlib.h这个头文件中。
2022-07-08 13:35:39 23282
原创 C语言sizeof与strlen详解
2.sizeof是操作符,不是函数 ,所以sizeof的参数可以是数组,指针,类型,对象,函数等。举个例子:sizeof(类型)可以 sizeof 类型是错误的。3.sizeof ()内部的表达式不参与真实运算,编译器在编译时就计算出了sizeof的结果。注:sizeof内部即使写的是赋值表达式也不会去真实的运算,sizeof在计算的时候只看操作数的类型,不会访问对应的空间 。sizeof(数组名):此时的数组名代表的是整个数组&数组名:此时的数组名代表的也是整个数组其他情况,数组名代表的
2022-07-06 14:04:38 664
原创 构造函数与析构函数
类的数据成员不能在类的声明时候初始化,为了解决这个问题? 使用构造函数处理对对象的初始化。构造函数是一种特殊的成员函数,与其他函数不同,不需要用户调用它,而是创建对象的时候自动调用。析构函数是对象不再使用的时候,需要清理资源的时候调用。...
2022-07-05 20:00:36 282
空空如也
C++实现两个类的相互调用
2024-02-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人