数据结构与算法分析
数据结构与算法分析
Liang-Wen-Hao
伪装成程序员的菜鸟
展开
-
数据结构-第二讲 线性结构-学习笔记(MOOC 浙江大学 陈越 何钦铭)
目录第二讲 线性结构2.1 线性表及其实现2.1.1 引子:多项式表示2.1.2 线性表及顺序存储2.1.3 顺序存储的插入和删除顺序存储-数组实现-code2.1.4 链式存储及查找2.1.5 链式存储的插入和删除2.1.6 广义表与多重链表顺序存储-链表实现-code2.2 堆栈2.2.1 什么是堆栈2.2.2 堆栈的顺序存储实现(数组实现)堆栈的顺序存储实现-数组实现-code2.2.3 堆栈的链式存储实现(链表实现)堆栈的链式存储实现-链表实现-code2.2.4 堆栈应用:表达式求值2.3 队列2原创 2020-12-17 19:26:43 · 828 阅读 · 2 评论 -
数据结构-第一讲 基本概念-学习笔记(MOOC 浙江大学 陈越 何钦铭)
目录第一讲 基本概念1.1 什么是数据结构1.1.1 关于数据组织 - 例:图书摆放1.1.2 关于空间使用 - 例:PrintN函数实现1.1.3 关于算法效率 - 例:计算多项式值计算函数 花费的时间1.1.4 抽象数据类型1.2 什么是算法1.2.1 算法的定义1.2.2 什么是好的算法?1.2.3 复杂度的渐进表示1.3 应用实例:最大子列和问题1.3.1 应用实例 - 算法 1 & 21.3.2 应用实例 - 算法 31.3.3 应用实例 - 算法 4https://www.icou..原创 2020-12-16 15:56:16 · 318 阅读 · 0 评论 -
《数据结构与算法分析–C++语言描述》(第四版) 第4章 树
第4章 树原创 2020-10-26 11:42:30 · 431 阅读 · 0 评论 -
《数据结构与算法分析–C语言描述 2ed》第3章 表、栈和队列 书本代码 &&课后练习答案
3.2单链表fatal.h//#region#include <stdio.h>#include <stdlib.h>#define Error( Str ) FatalError( Str )#define FatalError( Str ) fprintf( stderr, "%s\n", Str ), exit( 1 )//#end...原创 2020-02-18 17:27:16 · 530 阅读 · 0 评论 -
《数据结构与算法分析–C语言描述 2ed》第一章 书本例子 figure
//图1-2 一个递归函数#include <stdio.h>/* START: fig1_2.txt */ int F( int X ) {/* 1*/ if( X == 0 )/* 2*/ return 0; else/* 3*/ return 2 * ...原创 2020-02-16 13:17:24 · 121 阅读 · 0 评论 -
《数据结构与算法分析–C语言描述 2ed》习题 1.3 只使用处理I/o的PrintDigit函数,编写一个过程以输出任意实数(可以是负的)
#题目1.3 只使用处理i / o的PrintDigit函数,编写一个过程以输出任意实数(可以是负的)#官方答案Because of round-off errors, it is customary to specify the number of decimal places thatshould be included in the output and round up accor...原创 2020-01-31 23:19:19 · 1214 阅读 · 0 评论 -
《数据结构与算法分析–C语言描述 2ed》第7章 排序
目录第7章 排序fatal.h1. 插入排序2. 希尔排序3. 堆排序4. 归并排序5. 快速排序第7章 排序fatal.h//fatal.h //打印错误信息并退出#include <stdio.h>#include <stdlib.h>#define Error( Str ) FatalError( Str )#define FatalError( Str ) fprintf( stderr, "%s\n", Str ), exit( 1原创 2020-10-22 19:52:59 · 104 阅读 · 0 评论 -
《C和C++程序员面试秘笈》第9章 排序
目录1. 编程:实现直接插入排序2. 编程:实现希尔(shell)排序1. 编程:实现直接插入排序2. 编程:实现希尔(shell)排序原创 2020-03-11 17:48:56 · 159 阅读 · 0 评论 -
基本的二分查找(寻找一个数)
基本的二分搜索(寻找一个数)即搜索一个数,如果存在,返回其索引,否则返回 -1。int binarySearch(int[] nums, int target) { int left = 0; int right = nums.length - 1; while(left <= right) { int mid = (right + left) / 2; if(nums[mid] == target)原创 2020-09-21 18:58:34 · 597 阅读 · 0 评论