
数据结构
文章平均质量分 55
shang3090
this is chenshang
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法学习笔记02_1(线性表)
数据结构与算法学习笔02_1(线性表) 抽象数据类型的标准格式:ADT 抽象数据类型名Data 数据元素之间逻辑关系的定义Operation 操作endADT 线性表应该有什么样的基本操作? ADT 线性表(List)Data 线性表的数据对象集合为{a1,a2,…,an},每个元素的类型均为DataType。原创 2014-02-03 09:10:51 · 724 阅读 · 0 评论 -
数据结构与算法学习笔记01(引言)
数据结构与算法学习笔记一 引言: 看到网上一段话是这样写的: “算法是程序的灵魂,为什么有些网站能够在高并发和海量吞吐情况下依然坚如磐石,大家可能会说: 网站使用了服务器集群技术、数据库读写分离和缓存技术(比如memcahced和redis等),那如果我再深入的问一句,这些优化技术又是怎样被那些天才的技术高手设计出来的呢? 我在上大学的时候就在想,究竟原创 2014-02-02 20:35:37 · 858 阅读 · 0 评论 -
数据结构与算法学习笔记02_3(线性表)
数据结构与算法学习笔记02_3(线性表) 单链表的整表创建单链表整表创建的算法思路如下:创建单链表的过程是一个动态生成链表的过程,从“空表”的初始状态起,依次建立各元素结点并逐个插入链表。所以单链表整表创建的算法思路如下:声明一结点p和计数器变量i;初始化一空链表L;让L的头结点的指针指向NULL,即建立一个带头结点的单链表;循环实现后继结点的赋值和插入。原创 2014-02-03 13:04:31 · 904 阅读 · 0 评论 -
数据结构与算法学习笔记03(腾讯面试题)
数据结构与算法学习笔记03(腾讯面试题) 题目:快速找到未知长度单链表的中间节点。 普通的方法很简单,首先遍历一遍单链表以确定单链表的长度L。然后再次从头节点出发循环L/2次找到单链表的中间节点。算法复杂度为:O(L+L/2)=O(3L/2)。 能否再优化一下这个时间复杂度呢?有一个很巧妙的方法:利用快慢指针! 利用快慢指针原理:设置两个指针*search、原创 2014-02-04 13:57:56 · 1169 阅读 · 0 评论 -
数据结构与算法学习笔记02_2(线性表)
数据结构与算法学习笔记02_2(线性表) 2、线性表的链式存储结构 单链表除了存储其本身的信息外,还需存储一个指示其直接后继的存储位置的信息。我们把存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。链表中的第一个结点的存储位置叫做头指针,最后一个结点指针为空(NULL)。 头指针与头结点的异同1、头指针是指链表指向第一个结点的指针,若链表有头结点原创 2014-02-03 11:30:45 · 910 阅读 · 0 评论 -
数据结构与算法学习笔记04(约瑟夫问题)
数据结构与算法学习笔记04(约瑟夫问题) 约瑟夫问题据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josep原创 2014-02-04 18:12:23 · 885 阅读 · 0 评论