知识点
- GBK字符编码,汉字占用2字节。UTF-8,3个字节。
- 硬件由大量IC(集成电路)组成,上的引脚,有的用于输入,有的用于输出。
- 编译:把编程语言编写的文件(源文件)转换成机器语言编写的文件。
- .NET是微软提出的技术。
- 2种编程方法:面向组件编程、面向对象编程。
- GUI(图形用户界面)
算法
- 字符串的末尾用0表示,链表的末尾用-1,这些特殊字符是哨兵。
- 辗转相除法,机械求解最大公约数。2种方式,减法和除法。减法:2数中大数减去小数,直到两数相等,相等的这个数就是最大公约数。
- 典型算法。
名称 | 用途 |
---|---|
辗转相除法 | 求最大公约数 |
埃拉托斯特尼筛法 | 判定素数 |
顺序查找、二分查找、哈希查找 | 检索数据 |
冒泡排序、快速排序 | 数据排序 |
- 最小公倍数。2数乘积除以最大公约数。
- 埃拉托斯特尼筛法,用待判定的数除以比它小的所有正整数,余数为零,可以整除,不是素数。利用的是计算机的处理速度,同样适用于计算鸡兔同笼问题。
- 执行时间短的算法更优秀。如,判定素数,只需要从2到待判定数的平方根即可。
- 线性搜索,从头到尾依次查找。哨兵,多用于此。加个特殊元素,减少判定次数。
- 数字间的规律,如石头剪刀布游戏判定输赢,0、1、2表示三情况,B+1除以3的余数与A相等,就是B获胜。
数据结构
- 栈和队列,栈存取形式是LIFO(后进先出),队列是FIFO(先进先出)。
- 每个存储单元,8比特数据。
- 数组应用于线性搜索、冒泡排序。
|
|
- 典型数据结构
名称 | 特征 |
---|---|
栈 | 小山堆积一样 |
队列 | 排成一队 |
链表 | 任意改变数据排列顺序 |
二叉树 | 把数据分为两路排列 |
- 二叉树是链表的特殊形态。
- 数组可以转化为栈或队列。
- 栈需要一个数组,一个变量。变量是索引,指向栈顶数据,是栈顶指针。数组、栈顶指针、入栈函数、出栈函数组成了栈。注意:栈顶指针指向的不是栈里顶端上的数据的地址,实际上是这个数据上面的地址。
|
|
- 队列。数组、存放队头数据索引的变量、存放队尾数据索引的变量、存取函数。尾部存储满到最后,会折回数组的开头。逻辑结构变成圆环,循环利用。
|
|
- 链表。c语言中用自我引用的结构体组成的数组表示链表。
|
|
- 二叉树。有2个自我引用结构体的链表。用于搜索数据的算法,如二分查找,更快。
|
|
面向对象编程
- 缩写为OOP。C++在C的基础上增加了面向对象的机制。Java、C# 是对C++进一步改良。
- 结构体,操作数据的函数在外部。而面向对象编程可以把函数也放在内部。技巧有封装、继承、多态。
- 面向对象编程和面向过程编程是一对反义词。
- 多态指的是,针对同一消息,不同对象可以进行不同的操作。
- .NET支持C#
数据库
- DBMS缩略语。一张表由行和列组成,列被称为字段、属性,行被称为记录、元组。
- SQL,结构化查询语言。
- 关系型数据库。
- 客户端、服务端。
- 主键和复合主键(多个字段组成)
- CRUD.插入(CREATE)获取(REFER)更新(UPDATE)删除(DELETE)
TCP/IP网络
- LAN(局域网)
- 传输控制协议和网际协议(TCP/IP)
- MAC地址:网卡编号
- WAN(广域网)
- 集线器连接计算机,路由器连接互联网。
- 以太网网卡
- CSMA/CD 带冲突检测的载波监听多路访问,是连接LAN计算机的方法。多路复用,是多个设备同时访问传输介质。
- MAC地址由厂商编号和产品编号组成,每个都独一无二。
- IP地址是软件上的编号。TCP/IP中传输数据都要带MAC地址和IP地址。IP地址是32比特的整数,8个一组,分4段。IP地址的范围,0.0.0.0~255.255.255.255.前三段是网络地址,后一段是主机地址。子网掩码就是标识出网络地址和主机地址。子网掩码转换的二进制数中,值为1表示网络地址,0的表示主机地址。与MAC地址一样,IP地址也是唯一的。
- DHCP(动态主机设置协议)服务器获取IP地址和子网掩码。
- 默认网关存放路由器的IP地址。
- DNS(域名系统),解析域名为IP地址的服务器。其中记录着域名和IP地址的对应表。
- ARP(地址解析协议),把IP地址转换为MAC地址。使用广播的形式。也有缓存表,记录对应表。
- IP协议指定目标IP地址和路由器转发。TCP协议是双方相互回应确认信号,可靠传输数据。称作握手。通过包这种数据单元。
MAC信息 | IP信息 | TCP信息 | 数据 | 错误检查信息 |
- 网卡-设备驱动程序-IP协议程序-TCP协议程序-应用程序。层级结构。
- TCP端口号识别上层的应用程序。web使用80,发送邮件25,接收邮件使用110.
数据加密
- 秘钥,用于加密和解密的数字。
- XOR,逻辑异或运算。二进制,同则0,不同则1.
- 对称密钥加密技术,特征是加解密密钥相同。密钥的通知不安全,不适用于互联网。
- 公开密钥加密技术。加密密钥公开,解密密钥私有。公钥和私钥。
- RSA,实现公开密钥加密技术的算法,三个字母代表三个三个发明者。
- 数字签名。MD5,信息摘要。
XML
- 可扩展标记语言。元语言。
- HTML,超文本标记语言。
- < > & “ ‘ 5个特殊字符用< > & " &apos 表示。<![CDATA[ ]]> 括起来就可以直接使用上述5种特殊字符了。 表示注释。
- W3C(万维网联盟)
- CSV,只记录了信息,没有给信息赋予意义,比XML差一筹。
- XML命名空间。xmlns=命名空间 的形式。
- SOAP(简单的对象访问协议)用于分布式计算。分布式就是把程序分散在网络连接起来的计算机上。