随笔分类 -  算法

用C/C++实现一些常见的算法
摘要:算法9 完全二叉树 树结构的基本特征 (1)在一个树结构中,有且仅有一个节点没有直接前驱,这个节点就是树的根节点; (2)除了根节点外,其余结个节点有且仅有一个直接前驱; (3)每个结点都可以有任意多个直接后继; 树有一些基本的概念要清楚 父结点和子结点; 兄弟结点; 结点的度; 树的度; 叶结点; 阅读全文
posted @ 2016-09-19 16:38 taoliu_alex 阅读(499) 评论(0) 推荐(0)
摘要:队列及其实现 和上一部分关于栈的部分一样,不讲基本知识,直接实现,走你! 队列和栈相似,也包括一些基本的队列的操作,初始化,出队列,入队列,判空,判满,清空等操作。 阅读全文
posted @ 2016-09-18 08:32 taoliu_alex 阅读(183) 评论(0) 推荐(0)
摘要:有关栈的基本概念随便找一本书上面都有详细的介绍,在这里我用c语言只实现。 这一部分包括一些基本的栈的操作,初始化,出栈,入栈,判空,判满,清空等操作。 阅读全文
posted @ 2016-09-17 16:56 taoliu_alex 阅读(586) 评论(0) 推荐(0)
摘要:两种最基本的查找 1顺序查找 2 二分查找 阅读全文
posted @ 2016-09-16 09:15 taoliu_alex 阅读(193) 评论(0) 推荐(0)
摘要:之前几天在忙其他的事情,没有时间更新,今天更新了几个,虽然有几个SMR的博客暂时没有开放,已经写好了,以后会慢慢开放的 今天再更新一个有关排序的算法题 1 Merge Sorted Array描述Given two sorted integer arrays A and B, merge B int 阅读全文
posted @ 2016-09-14 20:13 taoliu_alex 阅读(221) 评论(0) 推荐(0)
摘要:主要是一些常见的排序方法的实现 1 冒泡排序算法 排序算法的理论和实现比较简单; 对于冒泡排序算法的改进,一种比较好的方法是,每次中间排序之后,都进行排序状态检测,如果已经排好序,就退出排序过程,否则基于冒泡排序; 但是:对于数组排序状态的检测,我没有比较好的办法;如果个数比较少,还可以容易得出,但 阅读全文
posted @ 2016-09-14 19:50 taoliu_alex 阅读(230) 评论(0) 推荐(0)
摘要:1 数组基本概念 2 数组有关的编程练习 1 数组的基本概念 数组就是用下标表示位置的相同类型数据的顺序数据类型,其中机器在给数据分配空间的时候分配的是一块连续的空间。 数组没有什么很多的东西需要补充,值得注意的是,数组作为参数的时候,使用指针的情况; 2 编程练习 1 remove duplica 阅读全文
posted @ 2016-09-06 16:24 taoliu_alex 阅读(295) 评论(0) 推荐(0)
摘要:字符串没有什么很重要的知识点需要说的,但是还是有一些比较重要的题,我们来一起分享一下 1 Valid Palindrome 描述: Given a string, determine if it is a palindrome, considering only alphanumeric chara 阅读全文
posted @ 2016-09-05 14:39 taoliu_alex 阅读(202) 评论(0) 推荐(0)
摘要:单循环链表的实现如下 阅读全文
posted @ 2016-09-03 11:45 taoliu_alex 阅读(323) 评论(0) 推荐(0)
摘要:1 双向链表详解和实现 1.1 双向链表详解 双(向)链表中有两条方向不同的链,即每个结点中除next域存放后继结点地址外,还增加一个指向其直接前趋的指针域prior。双向链表在查找时更方便 特别是大量数据的遍历。 注意: ①双链表由头指针head惟一确定的。 ②带头结点的双链表的某些运算变得方便。 阅读全文
posted @ 2016-09-02 22:24 taoliu_alex 阅读(463) 评论(0) 推荐(0)
摘要:现在我们要在链表中存储任意类型的数据(也就是说数据所占字节数是在使用链表的时候确定),既然要能存储任意类型的数据,那么我们的链表的节点和链表的定义就要做一些修改了。 下图是节点和链表的定义,data是一个ElemType类型的数据,而ElemType是被我们定义成了一个void *,也就是一个空指针 阅读全文
posted @ 2016-09-01 21:39 taoliu_alex 阅读(321) 评论(0) 推荐(0)
摘要:1 链表的基本知识 1.1 基本定义及优缺点 链表中各个对象按照顺序排列,注意到和数组的区别,数组的线性顺序是由数组下标决定的,但是链表的顺序是由各个对象里的指针决定的。 链表包含两个方面:1 数据部分,保存的是节点的实际数据;2 地址部分,保存的是下一个节点的地址(单链表)。 那么链表的优缺点 优 阅读全文
posted @ 2016-08-31 11:28 taoliu_alex 阅读(352) 评论(0) 推荐(0)
摘要:本文主的主要内容是一些随机算法,主要有四种,下面来详细的介绍: 1 生成随机数 一般c语言中提供了随机数生成函数, 其一是伪随机数--rand:用于返回一个0-32767之间的伪随机数; 其二是随机种子函数--srand:用来初始化随机数发生器的随机种子 #include <stdio.h> #in 阅读全文
posted @ 2016-08-29 22:27 taoliu_alex 阅读(15757) 评论(0) 推荐(0)