
数据结构
文章平均质量分 95
zou song
这个作者很懒,什么都没留下…
展开
-
常见排序算法小结
排序算法经过了很长时间的演变,产生了很多种不同的方法。对于初学者来说,对它们进行整理便于理解记忆显得很重要。每种算法都有它特定的使用场合,很难通用。因此,我们很有必要对所有常见的排序算法进行归纳。 我不喜欢死记硬背,我更偏向于弄清来龙去脉,理解性地记忆。比如下面这张图,我们将围绕这张图来思考几个问题。 上面的这张图来自一个PPT。它概括了数据结构中的所有常见转载 2015-10-25 10:01:28 · 532 阅读 · 0 评论 -
(转)C语言版数据结构--迷宫问题--栈的应用
#include <stdio.h> #include <stdlib.h> #define MAXSIZE 20 #define ERROR -1 #define OK 1 #define FALSE 0 #define TRUE 1 typedef enum{RIG...原创 2014-03-23 22:24:28 · 554 阅读 · 0 评论 -
(转)结构体链表
链表1。是由结构体和指针构成的。2。包括两个部分一个是数据域和指针域。3。链表中的结点分为两类:头结点和一般结点。头结点是没有数据域的。4。基本操作有:初始化链表,增加结点和删除结点,求链表的长度等等。struct Linknode{ int data; struct Linknode *next;};这个地方有个知识点:这个是链表的数据结构是有...原创 2014-03-13 21:59:11 · 270 阅读 · 0 评论 -
(转)单链表18个操作
#include "stdafx.h"#include "stdio.h"#include <stdlib.h>#include "string.h" typedef int elemType ; /******************************************************************...原创 2014-02-28 09:24:37 · 105 阅读 · 0 评论 -
常用排序算法稳定性分析
【1】选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。【2】研究排序算法的稳定性有何意义?首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。再简单具体一点,如果A i == A j,Ai 原来在 Aj 位置前,排序后转载 2016-07-10 21:57:57 · 304 阅读 · 0 评论 -
堆和栈的区别
堆和栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别: 1、栈使用的是一级缓存, 他们通常都是被调用时处于存储空间中,调用完毕立即释放转载 2015-10-25 09:59:38 · 456 阅读 · 0 评论 -
hash算法 (hashmap 实现原理)
转自:http://zha-zi.iteye.com/blog/1124484Hash ,一般翻译做“ 散列” ,也有直接音译为“ 哈希” 的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不 同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入转载 2016-03-05 00:35:21 · 222 阅读 · 0 评论 -
排序算法
数据结构排序算法总结I考研复习到数据结构排序这章了,这章的内容比较经典,都是一些很好的算法,将来很可能会用得到,总结一下,加深一下印象。 文章篇幅有点大,请点击查看更多,下面是跳转链接: 一、插入排序 1)直接插入排序 2)折半插入排序 3)希尔排序 二、交换排序转载 2016-01-31 11:04:47 · 452 阅读 · 0 评论 -
10个算法小结
算法一:快速排序算法 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。 快速排序使用分治法(Divide and conquer)策转载 2015-12-25 22:59:21 · 259 阅读 · 0 评论 -
合并两个有序线性表的元素(C语言版)
//合并两个有序线性表的元素保证无重复元素 #include struct LinerList { int *list; int size; int MAXSIZE; }; int main() { int list1[15]={2,5,7,8,10,14,19,22,25,30};转载 2014-02-25 19:44:18 · 2420 阅读 · 0 评论 -
严蔚敏 数据结构 课本中 栈应用 走迷宫 C语言 完整版
#include #include #include #define STACK_INIT_SIZE 100 #define INCREMENT 10 /* typedef int ElemType; */ typedef struct{ int r; int c; }PosType;转载 2014-04-03 22:56:54 · 1005 阅读 · 0 评论 -
一致性哈希算法的原理与实现
分布式系统中对象与节点的映射关系,传统方案是使用对象的哈希值,对节点个数取模,再映射到相应编号的节点,这种方案在节点个数变动时,绝大多数对象的映射关系会失效而需要迁移;而一致性哈希算法中,当节点个数变动时,映射关系失效的对象非常少,迁移成本也非常小。本文总结了一致性哈希的算法原理和Java实现,并列举了其应用。作者:王克锋出处:https://kefeng.wang/2018/08/10/cons...转载 2019-04-28 21:29:17 · 244 阅读 · 0 评论