![](https://img-blog.csdnimg.cn/20210416104811783.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构和算法
程序员的基本功
楊建軍
本人具备扎实的计算机理论知识,对操作系统原理、计算机网络原理、数据结构与算法、数据库系统原理等专业课程有深入的理解,拥有3年的C/C++工作经验,能独立完成功能模块的需求分析、设计、编码、测试、优化等工作,熟悉Windows和Linux操作系统,熟练使用Visual Studio、vi/gcc/gdb、Wireshark等开发工具,能熟练阅读英文文档。<br> 之前的工作中主要从事动态库的开发、MQTT/HTTP客户端开发、激光机/打印机设备的上位机软件开发,本人热爱计算机行业,对技术喜欢刨根问底,追求代码的美观整洁,对待工作认真负责、爱岗敬业,有较强的沟通能力和解决问题的能力。
展开
-
数据结构和算法概论
参考书:数据结构与算法——C语言描述数据结构:栈、队列、链表、二叉树、优先队列、BST树、AVL树、B树、红黑树等算法:排序、查找等原创 2018-05-03 11:43:38 · 229 阅读 · 0 评论 -
字符串存储与算法
字符串字典libxml2。原创 2024-01-08 20:53:56 · 414 阅读 · 0 评论 -
数据结构—散列表(哈希表)
一、数组和链表的弊端1、对于所有可能的关键字集合U,如果用数组来存储U中的关键字,则需要分配的存储单元至少等于U中关键字的个数。这种方法的弊端很明显,实际中U可能很大,计算机的内存毕竟有限,用数组去存储这么大一个集合不切实际。...原创 2018-05-21 10:16:27 · 136 阅读 · 0 评论 -
数据结构—二叉树
一、基本概念1、什么是树、二叉树、左右子树、(根或叶子)节点就不必赘述了。 注:图片摘自百度百科2、节点的度 : 节点有几棵子树该节点的度就为几。二叉树节点的度为{0, 1, 2}3、节点的深度: 从根到该节点的唯一路径的长。根节点的深度为04、节点的高度: 从该节点到叶节点的最长路径(可能有好几条)的长。叶节点的高度为05、树的高度 : 树的高度就是根节点的高度。二、特殊...原创 2018-05-02 17:34:48 · 156 阅读 · 0 评论 -
数据结构—二叉查找树和AVL树
一、二叉查找树1、概念:二、AVL树原创 2018-05-20 09:08:57 · 568 阅读 · 0 评论 -
数据结构—红黑树
一、概念红黑树同AVL树一样,都是带有平衡条件的二叉查找树。二、性质1、它的每个节点或者被着为黑色,或者被着为红色2、根节点为黑色3、每个叶子节点都是黑色的(也定Nil节点是黑色的)4、如果一个节点是红色的,那么它的左右儿子必须是黑色的5、从任一节点到它的所有叶子节点的路径上包含数目相同的黑色节点...原创 2018-05-20 21:59:07 · 116 阅读 · 0 评论 -
数据结构—图
一、基本概念原创 2018-05-15 11:44:29 · 8078 阅读 · 0 评论 -
查找算法
后续更新原创 2018-05-21 23:45:01 · 110 阅读 · 0 评论 -
插入排序
一、算法思路1、外层循环:i 0 —> N 保证从0至i-1位置上的元素已经是排好序的2、内层循环: j i —> 1 负责找到位置i的元素应该处于0—i-1的哪个位置二、代码实现void InsertSort(int A[], size_t N){ int tmp; for (int i=0; i<N; i++) { tmp = A[...原创 2018-05-21 21:38:51 · 189 阅读 · 0 评论 -
希尔排序
一、算法思路希尔排序是对插入排序的一种改进。它实质上是先将待排序数组分组,然后对每个组进行直接插入排序。选取适当的增量序列,把数组按照给定的步长分为若干组,然后对每个小组进行插入排序,直到增量序列递减为1排序完成。二、代码实现三、性能分析...原创 2018-05-21 23:29:40 · 126 阅读 · 0 评论 -
快速排序
后续更新原创 2018-05-21 23:39:34 · 101 阅读 · 0 评论 -
堆排序
后续更新原创 2018-05-21 23:38:32 · 131 阅读 · 0 评论