<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Golden_Knight的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Golden_Knight</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Golden_Knight]]></copyright><item><title><![CDATA[数据结构与算法：3.前缀树（Tire树）]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/120352210</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/120352210</guid><author>Golden_Knight</author><pubDate>Fri, 17 Sep 2021 16:42:45 +0800</pubDate><description><![CDATA[https://leetcode-cn.com/leetbook/read/trie/x7ke5m/

]]></description><category></category></item><item><title><![CDATA[数据结构与算法：6.双指针之滑动窗口]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/119576601</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/119576601</guid><author>Golden_Knight</author><pubDate>Tue, 10 Aug 2021 18:39:07 +0800</pubDate><description><![CDATA[转发：https://github.com/labuladong/fucking-algorithm/blob/master/%E7%AE%97%E6%B3%95%E6%80%9D%E7%BB%B4%E7%B3%BB%E5%88%97/%E6%BB%91%E5%8A%A8%E7%AA%97%E5%8F%A3%E6%8A%80%E5%B7%A7.md
读完本文，你不仅学会了算法套路，还可以顺便去 LeetCode 上拿下如下题目：
76.最小覆盖子串
567.字符串的排列
438.找到字符串中所有字母异位词
]]></description><category></category></item><item><title><![CDATA[静态链接与动态链接]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/110366704</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/110366704</guid><author>Golden_Knight</author><pubDate>Mon, 30 Nov 2020 09:00:27 +0800</pubDate><description><![CDATA[**静态链接与动态链接**
转载：https://zhuanlan.zhihu.com/p/83716863

]]></description><category></category></item><item><title><![CDATA[数据结构与算法：1.单调栈]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/109962796</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/109962796</guid><author>Golden_Knight</author><pubDate>Sun, 22 Nov 2020 20:23:33 +0800</pubDate><description><![CDATA[单调栈
参考链接1：
https://zhuanlan.zhihu.com/p/26465701个
对应练习题：
1.https://leetcode-cn.com/problems/next-greater-element-i/
2.https://leetcode-cn.com/problems/next-greater-element-ii/
3.https://leetcode-cn.com/problems/next-greater-element-iii/
4.https://leetcode-]]></description><category></category></item><item><title><![CDATA[C++:从extern “C”{}看C/C++混合编程]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104928992</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104928992</guid><author>Golden_Knight</author><pubDate>Tue, 17 Mar 2020 19:23:48 +0800</pubDate><description><![CDATA[extern “C” {}讲解

]]></description><category></category></item><item><title><![CDATA[C++：匿名命名空间]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104928706</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104928706</guid><author>Golden_Knight</author><pubDate>Tue, 17 Mar 2020 19:06:19 +0800</pubDate><description><![CDATA[匿名命名空间
概念
当定义一个命名空间时，可以忽略这个命名空间的名称：
namespce {
char c;
int i;
double d;
}
编译器内部处理
编译器在内部会为这个命名空间生成一个唯一的名字，而且还会为这个匿名的命名空间生成一条using指令。所以上面的代码在效果上等同于：
namespace _UNIQUE_NAME {
char c;
int i;
double d;
}
...]]></description><category></category></item><item><title><![CDATA[数据结构与算法(快慢指针思想)7.单链表中有环结构衍生的快慢指针算法思维]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104887019</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104887019</guid><author>Golden_Knight</author><pubDate>Sun, 15 Mar 2020 21:38:34 +0800</pubDate><description><![CDATA[[有趣的算法思维] 1. 链表思维与快乐数(单链表思维、链表带环判断)

]]></description><category></category></item><item><title><![CDATA[算法：大数相乘和相加]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104883933</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104883933</guid><author>Golden_Knight</author><pubDate>Sun, 15 Mar 2020 19:12:42 +0800</pubDate><description><![CDATA[一、背景
在处理两个非常大的数相加或相乘时，其结果可能会超出整型范围，下面为整型数值范围：

二、解决方法
超大数相乘，应该考虑使用字符串或者字符数组来存储相关的数据，再或者使用整型数组来进行处理，乘法就是将数的每一位与另一位数的所有位数相乘。

...]]></description><category></category></item><item><title><![CDATA[数据结构与算法：8.哈希表]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104837861</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104837861</guid><author>Golden_Knight</author><pubDate>Fri, 13 Mar 2020 20:43:17 +0800</pubDate><description><![CDATA[一、何为哈希表
哈希表是一种使用哈希函数组织数据，以支持快速插入和搜索的数据结构。有两种不同类型的哈希表：哈希集合和哈希映射：

哈希集合是集合数据结构的实现之一，用于存储非重复值。
哈希映射是映射 数据结构的实现之一，用于存储(key, value)键值对。

在标准模板库的帮助下，哈希表是易于使用的。大多数常见语言（如Java，C ++ 和 Python）都支持哈希集合和哈希映射。通过选择合适...]]></description><category></category></item><item><title><![CDATA[字节序]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104774928</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104774928</guid><author>Golden_Knight</author><pubDate>Tue, 10 Mar 2020 15:11:09 +0800</pubDate><description><![CDATA[一、计算机数据存储方式
计算机硬件有两种储存数据的方式：大端字节序（big endian）和小端字节序（little endian）。举例来说，数值0x11223344使用4个字节储存：高位字节到低位字节分别是：0x11，0x22，0x33，0x44。
二、大小端字节序
大端字节序：高位字节在前，低位字节在后，这是人类读写数值的方法。
小端字节序：低位字节在前，高位字节在后，即以0x4433221...]]></description><category></category></item><item><title><![CDATA[数据结构与算法：2.并查集]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/104760906</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/104760906</guid><author>Golden_Knight</author><pubDate>Mon, 09 Mar 2020 20:46:58 +0800</pubDate><description><![CDATA[https://zhuanlan.zhihu.com/p/93647900

]]></description><category></category></item><item><title><![CDATA[Linux系统编程：（5）进程凭证]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103833489</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103833489</guid><author>Golden_Knight</author><pubDate>Sat, 04 Jan 2020 17:36:42 +0800</pubDate><description><![CDATA[一、进程凭证
每个进程都有一套用数字表示的用户ID(UID) 和组ID(GID)，有时将这些ID称之为进程凭证，具体如下图所示：

1. 实际用户ID和组ID
实际用户ID和组ID确定了进程所属的组，标识我是谁。
2.有效用户ID和有效组ID
当进程尝试执行各种系统调用的时候，将结合有效用户ID、有效组ID及辅助ID来确定赋予进程的权限。
例如，当进程访问一些文件、进程间通信对象之类的系统资源时，...]]></description><category></category></item><item><title><![CDATA[Linux系统编程：（4）用户与组、密码加密与认证]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103814780</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103814780</guid><author>Golden_Knight</author><pubDate>Fri, 03 Jan 2020 11:36:38 +0800</pubDate><description><![CDATA[一、用户与组
在讨论进程凭证之前，我们先来搞清楚用户与组的概念。每个用户都拥有一个唯一的用户名和一个与之相关的数值型用户标识符（UID），一个用户可以隶属于一个或者多个组。每个组也都有唯一的名称和一个组标识符（GID）。用户与组的主要用途包括以下两个方面：确定各种系统资源的所有权 和 对赋予进程访问上述资源的权限加以控制。
1. 密码文件：/etc/passwd

针对系统中每个用户账号，系统密码...]]></description><category></category></item><item><title><![CDATA[Linux系统编程：（3）进程内存分配]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103779942</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103779942</guid><author>Golden_Knight</author><pubDate>Tue, 31 Dec 2019 12:37:39 +0800</pubDate><description><![CDATA[一、堆内存分配
进程在运行期间可以通过增加堆（heap）的大小来为进程分配内存，在进程的内存布局中，堆是一段大小可变的连续虚拟内存，始于BSS段的末尾，随着内存的分配和释放而增减。和栈有自己的指针指向栈顶一样，堆也有指向堆边界的“program break”。

1.List item调整program break：brk()和sbrk()
改变堆的大小，其实就是内核改变program break...]]></description><category></category></item><item><title><![CDATA[Linux系统编程：（2）进程与进程内存布局]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103771916</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103771916</guid><author>Golden_Knight</author><pubDate>Mon, 30 Dec 2019 21:01:35 +0800</pubDate><description><![CDATA[一、进程定义
进程是一个可执行程序的实例；从内核角度看，进程由用户内存空间和一系列内核数据结构组成，其中用户内存空间包含了程序代码及代码所使用的变量，而内核数据结构则用于维护进程状态信息，记录在内核数据结构中的信息包括如下：

与进程相关的标志号(IDs)
虚拟内存表
打开文件的描述符表
信号传递及处理的有关信息
进程资源使用及限制
当前工作目录
大量其他信息

运行进程相关的信息均在/proc/...]]></description><category></category></item><item><title><![CDATA[Linux系统编程：（1）文件I/O]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103730156</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103730156</guid><author>Golden_Knight</author><pubDate>Fri, 27 Dec 2019 12:59:31 +0800</pubDate><description><![CDATA[一、文件操作I/O












1
fd = open(pathname,flags,mode)
打开文件返回文件描述符
flag指定打开方式及一些限制，mode指定文件访问权限


2
numread = read(fd,buffer,maxszie)
读文件
自动更新文件偏移量


3
numwrite = write(fd,buffer,maxszie)
写文件
自动更新文件偏移...]]></description><category></category></item><item><title><![CDATA[python：xlrd、xlwt和xlutils操纵excel表格]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103694227</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103694227</guid><author>Golden_Knight</author><pubDate>Wed, 25 Dec 2019 10:16:17 +0800</pubDate><description><![CDATA[【转自】：https://blog.youkuaiyun.com/u013250071/article/details/81911434
一、需要用到的库
1.操作xls格式的表格文件：
读取：xlrd
写入：xlwt
修改（追加写入）：xlutils
2.操作xlsx格式的表格文件：
读取/写入：openpyxl
二、实现代码
1.操作xls格式的表格文件
# coding=UTF-8
import xlr...]]></description><category></category></item><item><title><![CDATA[数据结构与算法（搜索）：5.深度优先搜索（DFS）与栈]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103580782</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103580782</guid><author>Golden_Knight</author><pubDate>Mon, 23 Dec 2019 21:06:12 +0800</pubDate><description><![CDATA[深度优先遍历（DFS）
与 BFS 类似，深度优先搜索（DFS）也可用于查找从根结点到目标结点的路径,下面看看利用栈（stack）是怎么帮助实现DFS的。

1. 结点的处理顺序是什么？
在上面的例子中，我们从根结点 A 开始。

首先，我们选择结点 B 的路径，并进行回溯，直到我们到达结点 E，我们无法更进一步深入。
然后我们回溯到 A 并选择第二条路径到结点 C 。从 C 开始，我们尝试第一条...]]></description><category></category></item><item><title><![CDATA[C++设计模式（17）：组合模式]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103363777</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103363777</guid><author>Golden_Knight</author><pubDate>Mon, 23 Dec 2019 21:04:22 +0800</pubDate><description><![CDATA[一、背景

]]></description><category></category></item><item><title><![CDATA[C++设计模式（16）：建造者模式]]></title><link>https://blog.youkuaiyun.com/Golden_Knight/article/details/103363903</link><guid>https://blog.youkuaiyun.com/Golden_Knight/article/details/103363903</guid><author>Golden_Knight</author><pubDate>Fri, 20 Dec 2019 12:00:22 +0800</pubDate><description><![CDATA[一、背景

]]></description><category></category></item></channel></rss>