笑谈指针

1.计算机内存划分

首先把计算机看成一个学生公寓楼,每个房间就是一个内存单元,每个房间号就是存储单元的地址(计算机中地址编码的最基本单位是字节(每个字节由8个二进制位组成))。

2.普通变量与指针变量的区分(其实指针类型的存放的是指针,另外就是指针还能指向另一个地方)

int a;
int *a;

这样几乎没有什么不一样,房间名字都是a,但是一个存放int型变量

一个存放地址。

如果p存放了一个地址,那么*p就指向存放这个地址的房间

#include<stdio.h>
int main()
{
    int *p;//声明p是一个int型的指[......]

Read more

数据结构之基本概念和术语

1.数据,数据元素,数据项,数据对象

数据{ {数据对象},{数据元素{数据项} } }

数据元素是数据的基本单位。

数据项是组成数据元素的,有独立含义的,不可分割的最小单位。

2.数据结构

数据结构是相互之间存在一种或多种特定关系的(数据元素)的集合。

(1)逻辑结构

集合结构,线性结构,树结构,图结构

(2)存储结构

顺序存储结构,链式存储结构

3.算法时间复杂度和空间复杂度

只需注意常数的时间复杂度是O(1)

数据结构之struct和typedef struct

1.c语言下二者的意义

typedef struct用法

#include <stdio.h>
typedef struct node
{
    int x;
    int y;
}stu;
//struct node和stu都代表数据类型
//所以有两种定义变量的形式,如下
//也可以不写node,但是只能用stu定义了
int main()
{
    struct node b;
    stu a;
    a.x=1;
    a.y=2;
    b.x=3;
    b.y=4;
    printf("%d %d\n",[......]

Read more

vscode配置c++

1.装一个c++插件,微软的。

2.配置launch.json(直接复制粘贴吧)

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/a.out",
            "args": [],
            "s[......]

Read more

二分图匹配

kuangbin专题分类

一. 二分匹配

先看一下理论理解一下:http://www.renfei.org/blog/bipartite-matching.html

然后趣学匈牙利算法:一遍就看懂

A,B,C,D,E,G

1.交叉染色判断二分图。

2.二分图最小点覆盖(König定理证明)(好像只能无向,对吧?)

I,

感谢Matrix   

感谢:http://blog.csdn.net/kootain/article/details/6692582?utm_source=jiancool

其实就是二分图最大匹配,要换个角度思考。[……]

Read more

字典树

1.百度一下“字典树 博客”,第一页的那个能看懂看那个,主要是思想+代码

2.入门题hdu1671

注意释放内存

代码

#include<stdio.h>
#include<string>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct tree
{
    tree *next[10];
    int f;
    int v;
};
char s[[......]

Read more