数据结构和算法
文章平均质量分 77
_zSir
To be or not to be, that is not a question.
To be better.
展开
-
二分法查找(Binary Search)
二分查找是在有序数组中查找一个元素的算法,它通过判断中间值进而缩小范围来查找目标值。例在数组 2,5,7,8,10,15,18,20,22,25,28中查找18,如下图所示: C语言实现函数原型: int binary_search(int *array, int imin, int imax, int key)/** * return the index of key.原创 2015-07-23 22:13:38 · 590 阅读 · 0 评论 -
数据结构(二) -- 栈 数组实现
栈的描述栈是一种后进先出(LIFO)的数据结构,先入栈的元素只能在最后出栈,在实际生活中就像摆放盘子一样,最后放的一个可以最先拿走。原创 2016-07-16 17:25:01 · 426 阅读 · 0 评论 -
数据结构(一) -- 循环队列数组实现
队列的描述队列的主要特征是先进先出(FIFO),这意味着先进入队列的元素将会首先出队,与生活中的排队一样。原创 2016-07-15 17:56:40 · 568 阅读 · 0 评论 -
数据结构(四) -- 二叉树
简介二叉树(Binary Tree)的特点时每个父节点最多只能有两个子节点,通常子树被称作“左子树”(Left Subtree)和“右子树”(Right Subtree)。原创 2016-08-18 00:21:50 · 291 阅读 · 0 评论 -
数据结构(三) -- 单向链表
简介单像链表是链表的一种,它是单一方向的,访问时只能从头节点开始。单项链表的C语言实现在实现单项链表时,最好加入头节点的概念。头节点(head)不存储数据,它的下一个节点才是真正存储数据的节点,这样的做的好处是可以头节点保持不变,令对链表第一个元素(头节点的下一个元素)的操作与对链表其他元素的操作保持一致,简化代码逻辑。#ifndef __LIST_H_原创 2016-07-31 12:06:24 · 355 阅读 · 0 评论 -
队列(Queue)-- 数组实现(C++ )
什么是队列?队列是一种先入先出的数据结构(FIFO),只允许在前端(front)删除,在后端(rear)插入。那么怎么实现队列呢?数组实现变量前端: front后端: rear存储数组: queue容量: capacity功能构造队列:Queue析构队列:~Queue入队:enqueue出队:dequeue判空:isEmpty大小原创 2017-02-25 17:01:44 · 5565 阅读 · 0 评论