随笔分类 - 数据结构 与 算法
摘要:前言:最近在学习数据结构,这里用Objective-C简单实现了一下栈。用Objective-C确实好容易,因为我使用了Cocoa框架提供了NSMutableArray作为存储元素的集合,操作集合元素很方便。 只不过,下面这种实现方法可能不是最优化的,因为NSMutableArray不是最轻量级的集
阅读全文
摘要:前言:下面的截图来自一个朋友的面试题,对于第四题,本人虽然愚拙,但还是花了点时间,写出了算法实现,以及图片展示我的算法思路: 粗略的代码实现: 算法思路截图: 算法思路讲解: ①、根据二维数组,我们在图中可以全部列出来就是一个矩阵(比如上图三行四列的二维数组,我用红色框框起来的部分),然后我们可以通
阅读全文
摘要:1、程序员必须知道的10大基础实用算法及其讲解 动态图表示的哦,挺不错的。
阅读全文
摘要:本小节知识点:1. 【掌握】基本思路2. 【掌握】实现步骤3. 【了解】练习##1.基本思路- 在有序表中,取中间元素作为比较对象,若给定值与中间元素的要查找的数相等,则查找成功;若给定值小于中间元素的要查找的数,则在中间元素的左半区继续查找;- 若给定值大于中间元素的要查找的数,则在中间元素的右半...
阅读全文
摘要:##本小节知识点:1. 【了解】冒泡排序2. 【掌握】冒泡排序的步骤3. 【了解】练习---##1.冒泡排序- 冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复 地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重...
阅读全文
摘要:# 选择排序##本小节知识点:1. 【了解】选择排序2. 【掌握】选择排序的基本思想3. 【了解】练习---##1.选择排序- 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续...
阅读全文
摘要:1、先解决如何获取一个文件的代码行数一开始对于这个问题,我的思路就回荡在:1字符串子字符串的判断 2循环直到结束的想法 3将原来是"\n"替换掉之类的想法一个问题总会有多种解决方案,下面的解决方案来自MJ基础视频里讲过的方案,挺不错的,基本思路是:通过"\n"拆分字符串到OC数组中,最后判断数组的长...
阅读全文
摘要:1 public class SuanLianxi 2 { 3 public static void main(String[] args) 4 { 5 //储存数值 6 double[] shuzhi = new...
阅读全文
摘要:直接上C++代码:这里有问题的地方就是joseph_circle.cpp实现方法eliminate的循环语句的条件,如果把p->next != p改为p->next != nullptr就会出现循环已经删除了最后一个还继续循环,还继续删除,然后抛出空指针异常。joseph_circle.h 1 #i...
阅读全文
摘要:插入前面:这段内容本来在下面猴子分桃题目之前是没有的,想看题,可以先看后面的题目,然后看着插入在前面的关于递归实现下面问题的代码,为什么要突然放在前面,因为这是一部分比较重要的内容,是个思想锻炼的结果和总结,另外最后吗还给出了错误的代码以及错误的原因可以对比理清思路: 1 #include 2 u...
阅读全文
摘要:Reverse反转算法 1 #include 2 3 using namespace std; 4 //交换的函数 5 void replaced(int &a,int &b){ 6 int t = a; 7 a = b; 8 b = t; 9 }10 //反转11 vo...
阅读全文