Which of the Two is Better??

which of the two ways is the better in terms of Memory consumption,computation,usage etc and why??

private void Update()
{
     //Statements
}

or

private void Start()
	{
		StartCoroutine (alternateToUpdate ());
	}

	private IEnumerator alternateToUpdate()
	{
		while (true)
		{
			//Statements
			yield return 0;
		}
	}

TheIEnumerator would require some overhead while it’s beeing created and also use slightly more memory, but I would consider these insignificant.

So, usage is the most important factor here.

As you may very well know, all code inside Update() executes just once per frame. However, the code inside your IEnumerator may execute indefinitely, even within the same frame, and may very well even freeze Unity, since while (true) will keep calling the same code over and over again. So, if this code executes unconditionally, Unity will just freeze.

Use coroutines, when you need to wait for something to happen, whether it’s a sound that needs to play fully, or timing an event, etc.

Also, consider InvokeRepeating() Unity - Scripting API: MonoBehaviour.InvokeRepeating

Not much difference here, depends on what kind of work you want to do. I would choose the one which is easier to work with.