算法和数据结构
文章平均质量分 81
算法跟数据结构
Wireless_Link
有丰富的蓝牙车载经验,曾给HAVAL H6,F7,江淮,北汽,丰田,大众,江铃等众多车型做过蓝牙车载方案,对传统蓝牙,低功耗蓝牙都有深入的研究。
展开
-
通用C 双循环链表(可直接用于项目)
通用C 双向 循环 链表一.用法详解:链表节点struct list_head{ struct list_head *prev; struct list_head *next;};自定义一个链表节点,并初始化:struct list_head list = {0}; INIT_LIST_HEAD(&list); 判断链表是否为空:list_empty(&list原创 2016-01-11 14:58:20 · 1252 阅读 · 0 评论 -
算法之二叉树各种遍历
树形结构是一类重要的非线性数据结构,其中以树和二叉树最为常用。二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆或是二叉排序树。二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。二叉树的第i层至多有2的 i -1次方个结点;转载 2016-06-18 16:12:30 · 841 阅读 · 0 评论 -
ringbuffer剖析
#include #define WAVEOUT_BUF_GUARD 1#define MAX_QUEUE 1#define WAVEOUT_BUF_BLK_NUM 16#define WAVEOUT_BUF_BLK_SIZE 1024int audio_dma_has_worked = 0;typedef struct { int read;原创 2016-01-14 17:25:21 · 1465 阅读 · 0 评论 -
通用C 链表(linux思想)
通用 C链表,适合任意类型头文件定义Mylist.h# define POISON_POINTER_DELTA 0#define LIST_POISON1 ((void *) 0x00100100 + POISON_POINTER_DELTA)#define LIST_POISON2 ((void *) 0x00200200 + POISON_POINTER_DELTA)原创 2016-01-09 15:47:40 · 1230 阅读 · 0 评论 -
LettCode总结
1Two Sum25arraysort setTwo Pointers2Add Two Numbers34linked listTwo Pointers转载 2016-05-31 16:43:41 · 1738 阅读 · 0 评论 -
算法导论(1) 笔记
算法概念: 所谓算法,就是定义良好的计算过程,它取一个或者一组值作为输入,并产生一个或者一组值作为输出。 亦即:算法就是一系列的计算步骤,用来将输入数据转换成输出结果。选择最佳排序算法考虑因素: 待排序的数据项,已排序的程度,对数据取值的i可能限制,采用的存储设备的类型。算法大分类: 正确算法:一个算法原创 2016-06-04 11:16:39 · 1012 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度-总结
算法的时间复杂度和空间复杂度-总结 通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的转载 2016-06-04 11:04:53 · 39236 阅读 · 4 评论 -
散列表 基本概念
散列表散列表 又叫 哈希表 (hash table)。通过访问key而直接访问存储的value值。它的key - value之间存在一个映射函数,我们可以通过key值和“看不到”的映射函数(散列函数)访问对应的value值。这加快了查找的速度!存放记录的数组称做散列表。散列方法不同于顺序查找、二分查找、二叉排序树及B-树上的查找。它不以关键字的比较为基本操作,采用直接寻址技术转载 2016-06-17 09:27:50 · 5013 阅读 · 0 评论 -
散列表(hash table)
目录 引言直接寻址散列寻址散列函数除法散列乘法散列全域散列完全散列碰撞处理方法链表法开放寻址法线性探查二次探查双重散列随机散列再散列问题完整源码(C++)参考资料内容 1、引转载 2016-06-17 15:35:58 · 1396 阅读 · 0 评论 -
八大排序算法
转载自:http://blog.csdn.net/hguisu/article/details/7776068概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog转载 2016-06-18 15:04:07 · 860 阅读 · 0 评论 -
栈 和 队列
转载自:http://blog.csdn.net/hguisu/article/details/76741951.栈1.1 栈的定义栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示:结论:后进先出(Last In First Out),简称为LIFO线性表。栈的基本运算有六种:转载 2016-06-18 15:15:40 · 962 阅读 · 0 评论 -
链表
转载自:http://blog.csdn.net/xubin341719/article/details/7091583/最近不是太忙,整理些东西,工作也许用得到。1,为什么要用到链表数组作为存放同类数据的集合,给我们在程序设计时带来很多的方便,增加了灵活性。但数组也同样存在一些弊病。如数组的大小在定义时要事先规定,不能在程序中进行调整,这样一来,在程序设计中针对不同问题有转载 2016-06-18 15:47:24 · 1140 阅读 · 0 评论 -
纸上谈兵: 树, 二叉树, 二叉搜索树
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢! 树的特征和定义树(Tree)是元素的集合。我们先以比较直观的方式介绍树。下面的数据结构是一个树:树有多个节点(node),用以储存元素。某些节点之间存在一定的关系,用连线表示,连线称为边(edge)。边的上端节点称为父节点,下端称为子节点。树转载 2016-06-18 16:15:31 · 908 阅读 · 0 评论